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 import 'package:string_scanner/string_scanner.dart'; | 5 import 'package:string_scanner/string_scanner.dart'; |
6 import 'package:test/test.dart'; | 6 import 'package:test/test.dart'; |
7 | 7 |
8 import 'utils.dart'; | 8 import 'utils.dart'; |
9 | 9 |
10 void main() { | 10 void main() { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 scanner.expect('foo '); | 52 scanner.expect('foo '); |
53 scanner.expect('bar'); | 53 scanner.expect('bar'); |
54 var match = scanner.lastMatch; | 54 var match = scanner.lastMatch; |
55 scanner.position = 0; | 55 scanner.position = 0; |
56 expect(() => scanner.error('oh no!', match: match), | 56 expect(() => scanner.error('oh no!', match: match), |
57 throwsStringScannerException('bar')); | 57 throwsStringScannerException('bar')); |
58 }); | 58 }); |
59 }); | 59 }); |
60 | 60 |
61 group("with position and/or length", () { | 61 group("with position and/or length", () { |
62 test('defaults to length 1', () { | 62 test('defaults to length 0', () { |
63 var scanner = new StringScanner('foo bar baz'); | 63 var scanner = new StringScanner('foo bar baz'); |
64 scanner.expect('foo '); | 64 scanner.expect('foo '); |
65 expect(() => scanner.error('oh no!', position: 1), | 65 expect(() => scanner.error('oh no!', position: 1), |
66 throwsStringScannerException('o')); | 66 throwsStringScannerException('')); |
67 }); | 67 }); |
68 | 68 |
69 test('defaults to the current position', () { | 69 test('defaults to the current position', () { |
70 var scanner = new StringScanner('foo bar baz'); | 70 var scanner = new StringScanner('foo bar baz'); |
71 scanner.expect('foo '); | 71 scanner.expect('foo '); |
72 expect(() => scanner.error('oh no!', length: 3), | 72 expect(() => scanner.error('oh no!', length: 3), |
73 throwsStringScannerException('bar')); | 73 throwsStringScannerException('bar')); |
74 }); | 74 }); |
75 | 75 |
76 test('supports an earlier position', () { | 76 test('supports an earlier position', () { |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 test("if position + length is outside the string", () { | 138 test("if position + length is outside the string", () { |
139 expect(() => scanner.error("oh no!", position: 7, length: 7), | 139 expect(() => scanner.error("oh no!", position: 7, length: 7), |
140 throwsArgumentError); | 140 throwsArgumentError); |
141 }); | 141 }); |
142 | 142 |
143 test("if length is negative", () { | 143 test("if length is negative", () { |
144 expect(() => scanner.error("oh no!", length: -1), throwsArgumentError); | 144 expect(() => scanner.error("oh no!", length: -1), throwsArgumentError); |
145 }); | 145 }); |
146 }); | 146 }); |
147 } | 147 } |
OLD | NEW |