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

Side by Side Diff: tests/corelib/src/StringPatternTest.dart

Issue 10244009: test rename overhaul: step 7 - corelib tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 7 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
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4 // Dart test for testing String.allMatches.
5
6 String str = "this is a string with hello here and hello there";
7
8 main() {
9 testNoMatch();
10 testOneMatch();
11 testTwoMatches();
12 testEmptyPattern();
13 testEmptyString();
14 testEmptyPatternAndString();
15 }
16
17 testNoMatch() {
18 // Also tests that RegExp groups don't work.
19 String helloPattern = "with (hello)";
20 Iterable<Match> matches = helloPattern.allMatches(str);
21 Expect.isFalse(matches.iterator().hasNext());
22 }
23
24 testOneMatch() {
25 String helloPattern = "with hello";
26 Iterable<Match> matches = helloPattern.allMatches(str);
27 var iterator = matches.iterator();
28 Match match = iterator.next();
29 Expect.isFalse(iterator.hasNext());
30 Expect.equals(str.indexOf('with', 0), match.start());
31 Expect.equals(str.indexOf('with', 0) + helloPattern.length, match.end());
32 Expect.equals(helloPattern, match.pattern);
33 Expect.equals(str, match.str);
34 Expect.equals(helloPattern, match[0]);
35 Expect.equals(0, match.groupCount());
36 }
37
38 testTwoMatches() {
39 String helloPattern = "hello";
40 Iterable<Match> matches = helloPattern.allMatches(str);
41
42 int count = 0;
43 int start = 0;
44 for (var match in matches) {
45 count++;
46 Expect.equals(str.indexOf('hello', start), match.start());
47 Expect.equals(
48 str.indexOf('hello', start) + helloPattern.length, match.end());
49 Expect.equals(helloPattern, match.pattern);
50 Expect.equals(str, match.str);
51 Expect.equals(helloPattern, match[0]);
52 Expect.equals(0, match.groupCount());
53 start = match.end();
54 }
55 Expect.equals(2, count);
56 }
57
58 testEmptyPattern() {
59 String pattern = "";
60 Iterable<Match> matches = pattern.allMatches(str);
61 Expect.isTrue(matches.iterator().hasNext());
62 }
63
64 testEmptyString() {
65 String pattern = "foo";
66 String str = "";
67 Iterable<Match> matches = pattern.allMatches(str);
68 Expect.isFalse(matches.iterator().hasNext());
69 }
70
71 testEmptyPatternAndString() {
72 String pattern = "";
73 String str = "";
74 Iterable<Match> matches = pattern.allMatches(str);
75 Expect.isTrue(matches.iterator().hasNext());
76 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698