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

Side by Side Diff: tests/corelib_2/string_replace_test.dart

Issue 2988673003: fix override checking of mixins (Closed)
Patch Set: update status Created 3 years, 4 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
« no previous file with comments | « tests/corelib_2/corelib_2.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 4
5 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 6
7 main() { 7 main() {
8 // Test replaceFirst. 8 // Test replaceFirst.
9 Expect.equals("AtoBtoCDtoE", "AfromBtoCDtoE".replaceFirst("from", "to")); 9 Expect.equals("AtoBtoCDtoE", "AfromBtoCDtoE".replaceFirst("from", "to"));
10 10
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 168
169 // Test replacement throwing. 169 // Test replacement throwing.
170 Expect.throws(() => "foo-bar".replaceFirstMapped("bar", (v) => throw 42), 170 Expect.throws(() => "foo-bar".replaceFirstMapped("bar", (v) => throw 42),
171 (e) => e == 42); 171 (e) => e == 42);
172 172
173 // Test replacement returning non-String. 173 // Test replacement returning non-String.
174 var o = new Object(); 174 var o = new Object();
175 Expect.equals( 175 Expect.equals(
176 "foo-$o", 176 "foo-$o",
177 "foo-bar".replaceFirstMapped("bar", (v) { 177 "foo-bar".replaceFirstMapped("bar", (v) {
178 return o; 178 // TODO(jmesserly): in strong mode, this function must return a string.
179 // If we want to allow any Object, we'll have to fix the API signature.
180 // See https://github.com/dart-lang/sdk/issues/30248.
181 return '$o';
179 })); 182 }));
180 183
181 for (var string in ["", "x", "foo", "x\u2000z"]) { 184 for (var string in ["", "x", "foo", "x\u2000z"]) {
182 for (var replacement in ["", "foo", string]) { 185 for (var replacement in ["", "foo", string]) {
183 for (int start = 0; start <= string.length; start++) { 186 for (int start = 0; start <= string.length; start++) {
184 var expect; 187 var expect;
185 for (int end = start; end <= string.length; end++) { 188 for (int end = start; end <= string.length; end++) {
186 expect = 189 expect =
187 string.substring(0, start) + replacement + string.substring(end); 190 string.substring(0, start) + replacement + string.substring(end);
188 Expect.equals(expect, string.replaceRange(start, end, replacement), 191 Expect.equals(expect, string.replaceRange(start, end, replacement),
189 '"$string"[$start:$end]="$replacement"'); 192 '"$string"[$start:$end]="$replacement"');
190 } 193 }
191 // Reuse expect from "end == string.length" case when omitting end. 194 // Reuse expect from "end == string.length" case when omitting end.
192 Expect.equals(expect, string.replaceRange(start, null, replacement), 195 Expect.equals(expect, string.replaceRange(start, null, replacement),
193 '"$string"[$start:]="$replacement"'); 196 '"$string"[$start:]="$replacement"');
194 } 197 }
195 } 198 }
196 Expect.throws(() => string.replaceRange(0, 0, null)); 199 Expect.throws(() => string.replaceRange(0, 0, null));
197 Expect.throws(() => string.replaceRange(-1, 0, "x")); 200 Expect.throws(() => string.replaceRange(-1, 0, "x"));
198 Expect.throws(() => string.replaceRange(0, string.length + 1, "x")); 201 Expect.throws(() => string.replaceRange(0, string.length + 1, "x"));
199 } 202 }
200 } 203 }
OLDNEW
« no previous file with comments | « tests/corelib_2/corelib_2.status ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698