Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Side by Side Diff: pkg/string_scanner/test/string_scanner_test.dart

Issue 689513002: Rewrite the pkg/yaml parser. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pkg/string_scanner/pubspec.yaml ('k') | pkg/yaml/CHANGELOG.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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.string_scanner_test; 5 library string_scanner.string_scanner_test;
6 6
7 import 'package:string_scanner/string_scanner.dart'; 7 import 'package:string_scanner/string_scanner.dart';
8 import 'package:unittest/unittest.dart'; 8 import 'package:unittest/unittest.dart';
9 9
10 void main() { 10 void main() {
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 expect(scanner.lastMatch, isNull); 54 expect(scanner.lastMatch, isNull);
55 expect(scanner.position, equals(0)); 55 expect(scanner.position, equals(0));
56 }); 56 });
57 57
58 test("matches returns false and doesn't change the state", () { 58 test("matches returns false and doesn't change the state", () {
59 expect(scanner.matches(new RegExp('.')), isFalse); 59 expect(scanner.matches(new RegExp('.')), isFalse);
60 expect(scanner.lastMatch, isNull); 60 expect(scanner.lastMatch, isNull);
61 expect(scanner.position, equals(0)); 61 expect(scanner.position, equals(0));
62 }); 62 });
63 63
64 test("substring returns the empty string", () {
65 expect(scanner.substring(0), isEmpty);
66 });
67
64 test('setting position to 1 throws an ArgumentError', () { 68 test('setting position to 1 throws an ArgumentError', () {
65 expect(() { 69 expect(() {
66 scanner.position = 1; 70 scanner.position = 1;
67 }, throwsArgumentError); 71 }, throwsArgumentError);
68 }); 72 });
69 73
70 test('setting position to -1 throws an ArgumentError', () { 74 test('setting position to -1 throws an ArgumentError', () {
71 expect(() { 75 expect(() {
72 scanner.position = -1; 76 scanner.position = -1;
73 }, throwsArgumentError); 77 }, throwsArgumentError);
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 }); 162 });
159 163
160 test("a non-matching matches returns false and doesn't change the state", 164 test("a non-matching matches returns false and doesn't change the state",
161 () { 165 () {
162 expect(scanner.matches(new RegExp('b(..)')), isFalse); 166 expect(scanner.matches(new RegExp('b(..)')), isFalse);
163 expect(scanner.lastMatch, isNull); 167 expect(scanner.lastMatch, isNull);
164 expect(scanner.position, equals(0)); 168 expect(scanner.position, equals(0));
165 expect(scanner.rest, equals('foo bar')); 169 expect(scanner.rest, equals('foo bar'));
166 }); 170 });
167 171
172 test("substring from the beginning returns the empty string", () {
173 expect(scanner.substring(0), isEmpty);
174 });
175
176 test("substring with a custom end returns the substring", () {
177 expect(scanner.substring(0, 3), equals('foo'));
178 });
179
180 test("substring with the string length returns the whole string", () {
181 expect(scanner.substring(0, 7), equals('foo bar'));
182 });
183
168 test('setting position to 1 moves the cursor forward', () { 184 test('setting position to 1 moves the cursor forward', () {
169 scanner.position = 1; 185 scanner.position = 1;
170 expect(scanner.position, equals(1)); 186 expect(scanner.position, equals(1));
171 expect(scanner.rest, equals('oo bar')); 187 expect(scanner.rest, equals('oo bar'));
172 188
173 expect(scanner.scan(new RegExp('oo.')), isTrue); 189 expect(scanner.scan(new RegExp('oo.')), isTrue);
174 expect(scanner.lastMatch[0], equals('oo ')); 190 expect(scanner.lastMatch[0], equals('oo '));
175 expect(scanner.position, equals(4)); 191 expect(scanner.position, equals(4));
176 expect(scanner.rest, equals('bar')); 192 expect(scanner.rest, equals('bar'));
177 }); 193 });
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 expect(scanner.lastMatch, isNull); 269 expect(scanner.lastMatch, isNull);
254 expect(scanner.position, equals(7)); 270 expect(scanner.position, equals(7));
255 }); 271 });
256 272
257 test("matches returns false sets lastMatch to null", () { 273 test("matches returns false sets lastMatch to null", () {
258 expect(scanner.matches(new RegExp('.')), isFalse); 274 expect(scanner.matches(new RegExp('.')), isFalse);
259 expect(scanner.lastMatch, isNull); 275 expect(scanner.lastMatch, isNull);
260 expect(scanner.position, equals(7)); 276 expect(scanner.position, equals(7));
261 }); 277 });
262 278
279 test("substring from the beginning returns the whole string", () {
280 expect(scanner.substring(0), equals('foo bar'));
281 });
282
283 test("substring with a custom start returns a substring from there", () {
284 expect(scanner.substring(4), equals('bar'));
285 });
286
287 test("substring with a custom start and end returns that substring", () {
288 expect(scanner.substring(3, 5), equals(' b'));
289 });
290
263 test('setting position to 1 moves the cursor backward', () { 291 test('setting position to 1 moves the cursor backward', () {
264 scanner.position = 1; 292 scanner.position = 1;
265 expect(scanner.position, equals(1)); 293 expect(scanner.position, equals(1));
266 expect(scanner.rest, equals('oo bar')); 294 expect(scanner.rest, equals('oo bar'));
267 295
268 expect(scanner.scan(new RegExp('oo.')), isTrue); 296 expect(scanner.scan(new RegExp('oo.')), isTrue);
269 expect(scanner.lastMatch[0], equals('oo ')); 297 expect(scanner.lastMatch[0], equals('oo '));
270 expect(scanner.position, equals(4)); 298 expect(scanner.position, equals(4));
271 expect(scanner.rest, equals('bar')); 299 expect(scanner.rest, equals('bar'));
272 }); 300 });
(...skipping 27 matching lines...) Expand all
300 expect(() => new StringScanner('foo bar', position: -1), 328 expect(() => new StringScanner('foo bar', position: -1),
301 throwsArgumentError); 329 throwsArgumentError);
302 }); 330 });
303 331
304 test('throws an ArgumentError if the position is beyond the string', () { 332 test('throws an ArgumentError if the position is beyond the string', () {
305 expect(() => new StringScanner('foo bar', position: 8), 333 expect(() => new StringScanner('foo bar', position: 8),
306 throwsArgumentError); 334 throwsArgumentError);
307 }); 335 });
308 }); 336 });
309 } 337 }
OLDNEW
« no previous file with comments | « pkg/string_scanner/pubspec.yaml ('k') | pkg/yaml/CHANGELOG.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698