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

Side by Side Diff: tests/language/reg_exp_test.dart

Issue 16206008: Fix-up RegExp implementations. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Renaming startIndex to index. Add comment. Created 7 years, 6 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
« no previous file with comments | « tests/co19/co19-runtime.status ('k') | no next file » | 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) 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 // Dart test for testing regular expressions in Dart. 4 // Dart test for testing regular expressions in Dart.
5 5
6 import "package:expect/expect.dart"; 6 import "package:expect/expect.dart";
7 7
8 class RegExpTest { 8 void main() {
9 static test1() { 9 RegExp exp = new RegExp(r"(\w+)");
10 RegExp exp = new RegExp("(\\w+)"); 10 String str = "Parse my string";
11 String str = "Parse my string"; 11 List<Match> matches = exp.allMatches(str).toList();
12 List<Match> matches = new List<Match>.from(exp.allMatches(str)); 12 Expect.equals(3, matches.length);
13 Expect.equals(3, matches.length); 13 Expect.equals("Parse", matches[0].group(0));
14 Expect.equals("Parse", matches[0].group(0)); 14 Expect.equals("my", matches[1].group(0));
15 Expect.equals("my", matches[1].group(0)); 15 Expect.equals("string", matches[2].group(0));
16 Expect.equals("string", matches[2].group(0));
17 }
18 16
19 static testMain() { 17 // Check that allMatches progresses correctly for empty matches, and that
20 test1(); 18 // it includes the empty match at the end position.
21 } 19 exp = new RegExp("a?");
20 str = "babba";
21 Expect.listEquals(["", "a", "", "", "a", ""],
22 exp.allMatches(str).map((x)=>x[0]).toList());
23
24 // Regression test for http://dartbug.com/2980
25 exp = new RegExp("^", multiLine: true); // Any zero-length match will work.
26 str = "foo\nbar\nbaz";
27 Expect.equals(" foo\n bar\n baz", str.replaceAll(exp, " "));
22 } 28 }
23
24 main() {
25 RegExpTest.testMain();
26 }
OLDNEW
« no previous file with comments | « tests/co19/co19-runtime.status ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698