| OLD | NEW |
| 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 String.allMatches. | 4 // Dart test for testing String.allMatches. |
| 5 | 5 |
| 6 import "package:expect/expect.dart"; | 6 import "package:expect/expect.dart"; |
| 7 | 7 |
| 8 String str = "this is a string with hello here and hello there"; | 8 String str = "this is a string with hello here and hello there"; |
| 9 | 9 |
| 10 main() { | 10 main() { |
| 11 testNoMatch(); | 11 testNoMatch(); |
| 12 testOneMatch(); | 12 testOneMatch(); |
| 13 testTwoMatches(); | 13 testTwoMatches(); |
| 14 testEmptyPattern(); | 14 testEmptyPattern(); |
| 15 testEmptyString(); | 15 testEmptyString(); |
| 16 testEmptyPatternAndString(); | 16 testEmptyPatternAndString(); |
| 17 testMatchAsPrefix(); | 17 testMatchAsPrefix(); |
| 18 testAllMatchesStart(); |
| 18 } | 19 } |
| 19 | 20 |
| 20 testNoMatch() { | 21 testNoMatch() { |
| 21 // Also tests that RegExp groups don't work. | 22 // Also tests that RegExp groups don't work. |
| 22 String helloPattern = "with (hello)"; | 23 String helloPattern = "with (hello)"; |
| 23 Iterable<Match> matches = helloPattern.allMatches(str); | 24 Iterable<Match> matches = helloPattern.allMatches(str); |
| 24 Expect.isFalse(matches.iterator.moveNext()); | 25 Expect.isFalse(matches.iterator.moveNext()); |
| 25 } | 26 } |
| 26 | 27 |
| 27 testOneMatch() { | 28 testOneMatch() { |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 Expect.isNull(pattern.matchAsPrefix(str, 2)); | 91 Expect.isNull(pattern.matchAsPrefix(str, 2)); |
| 91 m = pattern.matchAsPrefix(str, 3); | 92 m = pattern.matchAsPrefix(str, 3); |
| 92 Expect.equals("an", m[0]); | 93 Expect.equals("an", m[0]); |
| 93 Expect.equals(3, m.start); | 94 Expect.equals(3, m.start); |
| 94 Expect.isNull(pattern.matchAsPrefix(str, 4)); | 95 Expect.isNull(pattern.matchAsPrefix(str, 4)); |
| 95 Expect.isNull(pattern.matchAsPrefix(str, 5)); | 96 Expect.isNull(pattern.matchAsPrefix(str, 5)); |
| 96 Expect.isNull(pattern.matchAsPrefix(str, 6)); | 97 Expect.isNull(pattern.matchAsPrefix(str, 6)); |
| 97 Expect.throws(() => pattern.matchAsPrefix(str, -1)); | 98 Expect.throws(() => pattern.matchAsPrefix(str, -1)); |
| 98 Expect.throws(() => pattern.matchAsPrefix(str, 7)); | 99 Expect.throws(() => pattern.matchAsPrefix(str, 7)); |
| 99 } | 100 } |
| 101 |
| 102 testAllMatchesStart() { |
| 103 String p = "ass"; |
| 104 String s = "assassin"; |
| 105 Expect.equals(2, p.allMatches(s).length); |
| 106 Expect.equals(2, p.allMatches(s, 0).length); |
| 107 Expect.equals(1, p.allMatches(s, 1).length); |
| 108 Expect.equals(0, p.allMatches(s, 4).length); |
| 109 Expect.equals(0, p.allMatches(s, s.length).length); |
| 110 Expect.throws(() => p.allMatches(s, -1)); |
| 111 Expect.throws(() => p.allMatches(s, s.length + 1)); |
| 112 } |
| OLD | NEW |