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

Side by Side Diff: tests/corelib/string_test.dart

Issue 17281002: Make String.startsWith take an optional start index. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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
« sdk/lib/core/string.dart ('K') | « sdk/lib/core/string.dart ('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 4
5 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 6
7 // TODO(ngeoffray): test String methods with null arguments. 7 // TODO(ngeoffray): test String methods with null arguments.
8 class StringTest { 8 class StringTest {
9 9
10 static testMain() { 10 static testMain() {
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 Expect.isTrue("str".startsWith("str")); 120 Expect.isTrue("str".startsWith("str"));
121 121
122 Expect.isFalse("str".startsWith("stri")); 122 Expect.isFalse("str".startsWith("stri"));
123 Expect.isFalse("str".startsWith("r")); 123 Expect.isFalse("str".startsWith("r"));
124 Expect.isFalse("str".startsWith("tr")); 124 Expect.isFalse("str".startsWith("tr"));
125 Expect.isFalse("str".startsWith("t")); 125 Expect.isFalse("str".startsWith("t"));
126 126
127 Expect.isTrue("".startsWith("")); 127 Expect.isTrue("".startsWith(""));
128 Expect.isFalse("".startsWith("s")); 128 Expect.isFalse("".startsWith("s"));
129 129
130 Expect.isFalse("strstr".startsWith("s", 1));
131 Expect.isFalse("strstr".startsWith("s", 2));
132 Expect.isTrue("strstr".startsWith("s", 3));
133 Expect.isFalse("strstr".startsWith("s", 4));
134
135 Expect.isFalse("strstr".startsWith("st", 1));
136 Expect.isFalse("strstr".startsWith("st", 2));
137 Expect.isTrue("strstr".startsWith("st", 3));
138 Expect.isFalse("strstr".startsWith("st", 4));
139
140 Expect.isFalse("strstr".startsWith("str", 1));
141 Expect.isFalse("strstr".startsWith("str", 2));
142 Expect.isTrue("strstr".startsWith("str", 3));
143 Expect.isFalse("strstr".startsWith("str", 4));
144
145 Expect.isTrue("str".startsWith("", 0));
146 Expect.isTrue("str".startsWith("", 1));
147 Expect.isTrue("str".startsWith("", 2));
148 Expect.isTrue("str".startsWith("", 3));
149
150 Expect.throws(() => "str".startsWith("", -1));
151 Expect.throws(() => "str".startsWith("", 4));
152
130 var regexp = new RegExp("s(?:tr?)?"); 153 var regexp = new RegExp("s(?:tr?)?");
131 Expect.isTrue("s".startsWith(regexp)); 154 Expect.isTrue("s".startsWith(regexp));
132 Expect.isTrue("st".startsWith(regexp)); 155 Expect.isTrue("st".startsWith(regexp));
133 Expect.isTrue("str".startsWith(regexp)); 156 Expect.isTrue("str".startsWith(regexp));
134 Expect.isTrue("sX".startsWith(regexp)); 157 Expect.isTrue("sX".startsWith(regexp));
135 Expect.isTrue("stX".startsWith(regexp)); 158 Expect.isTrue("stX".startsWith(regexp));
136 Expect.isTrue("strX".startsWith(regexp)); 159 Expect.isTrue("strX".startsWith(regexp));
137 160
138 Expect.isFalse("".startsWith(regexp)); 161 Expect.isFalse("".startsWith(regexp));
139 Expect.isFalse("astr".startsWith(regexp)); 162 Expect.isFalse("astr".startsWith(regexp));
140 163
141 Expect.isTrue("".startsWith(new RegExp(""))); 164 Expect.isTrue("".startsWith(new RegExp("")));
142 Expect.isTrue("".startsWith(new RegExp("a?"))); 165 Expect.isTrue("".startsWith(new RegExp("a?")));
166
167 Expect.isFalse("strstr".startsWith(regexp, 1));
168 Expect.isFalse("strstr".startsWith(regexp, 2));
169 Expect.isTrue("strstr".startsWith(regexp, 3));
170 Expect.isFalse("strstr".startsWith(regexp, 4));
171
172 Expect.isTrue("str".startsWith(new RegExp(""), 0));
173 Expect.isTrue("str".startsWith(new RegExp(""), 1));
174 Expect.isTrue("str".startsWith(new RegExp(""), 2));
175 Expect.isTrue("str".startsWith(new RegExp(""), 3));
176 Expect.isTrue("str".startsWith(new RegExp("a?"), 0));
177 Expect.isTrue("str".startsWith(new RegExp("a?"), 1));
178 Expect.isTrue("str".startsWith(new RegExp("a?"), 2));
179 Expect.isTrue("str".startsWith(new RegExp("a?"), 3));
floitsch 2013/06/17 16:07:15 Add test for RegExp with "^".
180
181 Expect.throws(() => "str".startsWith(regexp, -1));
182 Expect.throws(() => "str".startsWith(regexp, 4));
143 } 183 }
144 184
145 static testIndexOf() { 185 static testIndexOf() {
146 Expect.equals(0, "str".indexOf("", 0)); 186 Expect.equals(0, "str".indexOf("", 0));
147 Expect.equals(0, "".indexOf("", 0)); 187 Expect.equals(0, "".indexOf("", 0));
148 Expect.equals(-1, "".indexOf("a", 0)); 188 Expect.equals(-1, "".indexOf("a", 0));
149 189
150 Expect.equals(1, "str".indexOf("t", 0)); 190 Expect.equals(1, "str".indexOf("t", 0));
151 Expect.equals(1, "str".indexOf("tr", 0)); 191 Expect.equals(1, "str".indexOf("tr", 0));
152 Expect.equals(0, "str".indexOf("str", 0)); 192 Expect.equals(0, "str".indexOf("str", 0));
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 383
344 void testStringLength(int length, String str) { 384 void testStringLength(int length, String str) {
345 Expect.equals(length, str.length); 385 Expect.equals(length, str.length);
346 (length == 0 ? Expect.isTrue : Expect.isFalse)(str.isEmpty); 386 (length == 0 ? Expect.isTrue : Expect.isFalse)(str.isEmpty);
347 (length != 0 ? Expect.isTrue : Expect.isFalse)(str.isNotEmpty); 387 (length != 0 ? Expect.isTrue : Expect.isFalse)(str.isNotEmpty);
348 } 388 }
349 389
350 main() { 390 main() {
351 StringTest.testMain(); 391 StringTest.testMain();
352 } 392 }
OLDNEW
« sdk/lib/core/string.dart ('K') | « sdk/lib/core/string.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698