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

Side by Side Diff: utils/tests/peg/peg_test.dart

Issue 12282038: Remove deprecated string features. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 months 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
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 peg_tests; 5 library peg_tests;
6 import '../../peg/pegparser.dart'; 6 import '../../peg/pegparser.dart';
7 7
8 testParens() { 8 testParens() {
9 Grammar g = new Grammar(); 9 Grammar g = new Grammar();
10 Symbol a = g['A']; 10 Symbol a = g['A'];
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 61
62 // Without the lexical context, TEXT will grab intervening whitespace. 62 // Without the lexical context, TEXT will grab intervening whitespace.
63 check(g, TEXT(MANY(OR(['1','a']))), ' 1a1 ', '1a1'); 63 check(g, TEXT(MANY(OR(['1','a']))), ' 1a1 ', '1a1');
64 check(g, TEXT(MANY(OR(['1','a']))), ' 1 a 1 ', '1 a 1'); 64 check(g, TEXT(MANY(OR(['1','a']))), ' 1 a 1 ', '1 a 1');
65 65
66 // Custom processing of the TEXT substring. 66 // Custom processing of the TEXT substring.
67 var binaryNumber = 67 var binaryNumber =
68 TEXT(LEX(MANY(OR(['0','1']))), 68 TEXT(LEX(MANY(OR(['0','1']))),
69 (str, start, end) { 69 (str, start, end) {
70 var r = 0; 70 var r = 0;
71 var zero = '0'.charCodeAt(0); 71 var zero = '0'.codeUnitAt(0);
72 for (int i = start; i < end; i++) 72 for (int i = start; i < end; i++)
73 r = r * 2 + (str.charCodeAt(i) - zero); 73 r = r * 2 + (str.codeUnitAt(i) - zero);
74 return r; 74 return r;
75 }); 75 });
76 76
77 check(g, binaryNumber, ' 10101 ', 21); 77 check(g, binaryNumber, ' 10101 ', 21);
78 check(g, binaryNumber, '1010111', 87); 78 check(g, binaryNumber, '1010111', 87);
79 check(g, binaryNumber, '1010 111', null); 79 check(g, binaryNumber, '1010 111', null);
80 } 80 }
81 81
82 testOR() { 82 testOR() {
83 // OR matches the first match. 83 // OR matches the first match.
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 } 338 }
339 339
340 main() { 340 main() {
341 testCODE(); 341 testCODE();
342 testParens(); 342 testParens();
343 testOR(); 343 testOR();
344 testTEXT(); 344 testTEXT();
345 testBlockComment(); 345 testBlockComment();
346 testC(); 346 testC();
347 } 347 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698