| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library string_scanner.error_test; | |
| 6 | |
| 7 import 'package:string_scanner/string_scanner.dart'; | 5 import 'package:string_scanner/string_scanner.dart'; |
| 8 import 'package:test/test.dart'; | 6 import 'package:test/test.dart'; |
| 9 | 7 |
| 10 import 'utils.dart'; | 8 import 'utils.dart'; |
| 11 | 9 |
| 12 void main() { | 10 void main() { |
| 13 test('defaults to the last match', () { | 11 test('defaults to the last match', () { |
| 14 var scanner = new StringScanner('foo bar baz'); | 12 var scanner = new StringScanner('foo bar baz'); |
| 15 scanner.expect('foo '); | 13 scanner.expect('foo '); |
| 16 scanner.expect('bar'); | 14 scanner.expect('bar'); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 scanner.expect('foo '); | 52 scanner.expect('foo '); |
| 55 scanner.expect('bar'); | 53 scanner.expect('bar'); |
| 56 var match = scanner.lastMatch; | 54 var match = scanner.lastMatch; |
| 57 scanner.position = 0; | 55 scanner.position = 0; |
| 58 expect(() => scanner.error('oh no!', match: match), | 56 expect(() => scanner.error('oh no!', match: match), |
| 59 throwsStringScannerException('bar')); | 57 throwsStringScannerException('bar')); |
| 60 }); | 58 }); |
| 61 }); | 59 }); |
| 62 | 60 |
| 63 group("with position and/or length", () { | 61 group("with position and/or length", () { |
| 64 test('defaults to length 1', () { | 62 test('defaults to length 0', () { |
| 65 var scanner = new StringScanner('foo bar baz'); | 63 var scanner = new StringScanner('foo bar baz'); |
| 66 scanner.expect('foo '); | 64 scanner.expect('foo '); |
| 67 expect(() => scanner.error('oh no!', position: 1), | 65 expect(() => scanner.error('oh no!', position: 1), |
| 68 throwsStringScannerException('o')); | 66 throwsStringScannerException('')); |
| 69 }); | 67 }); |
| 70 | 68 |
| 71 test('defaults to the current position', () { | 69 test('defaults to the current position', () { |
| 72 var scanner = new StringScanner('foo bar baz'); | 70 var scanner = new StringScanner('foo bar baz'); |
| 73 scanner.expect('foo '); | 71 scanner.expect('foo '); |
| 74 expect(() => scanner.error('oh no!', length: 3), | 72 expect(() => scanner.error('oh no!', length: 3), |
| 75 throwsStringScannerException('bar')); | 73 throwsStringScannerException('bar')); |
| 76 }); | 74 }); |
| 77 | 75 |
| 78 test('supports an earlier position', () { | 76 test('supports an earlier position', () { |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 test("if position + length is outside the string", () { | 138 test("if position + length is outside the string", () { |
| 141 expect(() => scanner.error("oh no!", position: 7, length: 7), | 139 expect(() => scanner.error("oh no!", position: 7, length: 7), |
| 142 throwsArgumentError); | 140 throwsArgumentError); |
| 143 }); | 141 }); |
| 144 | 142 |
| 145 test("if length is negative", () { | 143 test("if length is negative", () { |
| 146 expect(() => scanner.error("oh no!", length: -1), throwsArgumentError); | 144 expect(() => scanner.error("oh no!", length: -1), throwsArgumentError); |
| 147 }); | 145 }); |
| 148 }); | 146 }); |
| 149 } | 147 } |
| OLD | NEW |