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

Side by Side Diff: tests/lib_strong/convert/chunked_conversion_utf87_test.dart

Issue 2989993002: fix unsound cast failures in tests (Closed)
Patch Set: fix 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
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 import 'dart:convert'; 6 import 'dart:convert';
7 7
8 String decode(List<int> inputBytes) { 8 String decode(List<int> inputBytes) {
9 List<int> bytes; 9 List<int> bytes;
10 var byteSink = 10 var byteSink =
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 ] 222 ]
223 ]; 223 ];
224 224
225 main() { 225 main() {
226 var allTests = TESTS.expand((test) { 226 var allTests = TESTS.expand((test) {
227 // Pairs of test and expected string output when malformed strings are 227 // Pairs of test and expected string output when malformed strings are
228 // allowed. Replacement character: U+FFFD 228 // allowed. Replacement character: U+FFFD
229 return [ 229 return [
230 [test, "\u{FFFD}"], 230 [test, "\u{FFFD}"],
231 [ 231 [
232 new List.from([0x61])..addAll(test), 232 new List<int>.from([0x61])..addAll(test),
233 "a\u{FFFD}" 233 "a\u{FFFD}"
234 ], 234 ],
235 [ 235 [
236 new List.from([0x61]) 236 new List<int>.from([0x61])
237 ..addAll(test) 237 ..addAll(test)
238 ..add(0x61), 238 ..add(0x61),
239 "a\u{FFFD}a" 239 "a\u{FFFD}a"
240 ], 240 ],
241 [new List.from(test)..add(0x61), "\u{FFFD}a"], 241 [new List<int>.from(test)..add(0x61), "\u{FFFD}a"],
242 [new List.from(test)..addAll(test), "\u{FFFD}\u{FFFD}"], 242 [new List<int>.from(test)..addAll(test), "\u{FFFD}\u{FFFD}"],
243 [ 243 [
244 new List.from(test) 244 new List<int>.from(test)
245 ..add(0x61) 245 ..add(0x61)
246 ..addAll(test), 246 ..addAll(test),
247 "\u{FFFD}a\u{FFFD}" 247 "\u{FFFD}a\u{FFFD}"
248 ], 248 ],
249 [ 249 [
250 new List.from([0xc3, 0xa5])..addAll(test), 250 new List<int>.from([0xc3, 0xa5])..addAll(test),
251 "å\u{FFFD}" 251 "å\u{FFFD}"
252 ], 252 ],
253 [ 253 [
254 new List.from([0xc3, 0xa5])..addAll(test)..addAll([0xc3, 0xa5]), 254 new List<int>.from([0xc3, 0xa5])..addAll(test)..addAll([0xc3, 0xa5]),
255 "å\u{FFFD}å" 255 "å\u{FFFD}å"
256 ], 256 ],
257 [ 257 [
258 new List.from(test)..addAll([0xc3, 0xa5]), 258 new List<int>.from(test)..addAll([0xc3, 0xa5]),
259 "\u{FFFD}å" 259 "\u{FFFD}å"
260 ], 260 ],
261 [ 261 [
262 new List.from(test)..addAll([0xc3, 0xa5])..addAll(test), 262 new List<int>.from(test)..addAll([0xc3, 0xa5])..addAll(test),
263 "\u{FFFD}å\u{FFFD}" 263 "\u{FFFD}å\u{FFFD}"
264 ] 264 ]
265 ]; 265 ];
266 }); 266 });
267 267
268 var allTests2 = TESTS2.map((test) { 268 var allTests2 = TESTS2.map((test) {
269 // Pairs of test and expected string output when malformed strings are 269 // Pairs of test and expected string output when malformed strings are
270 // allowed. Replacement character: U+FFFD 270 // allowed. Replacement character: U+FFFD
271 String expected = (test[1] as String).replaceAll("X", "\u{FFFD}"); 271 String expected = (test[1] as String).replaceAll("X", "\u{FFFD}");
272 return [test[0], expected]; 272 return [test[0], expected];
273 }); 273 });
274 274
275 for (var test in []..addAll(allTests)..addAll(allTests2)) { 275 for (var test in []..addAll(allTests)..addAll(allTests2)) {
276 List<int> bytes = test[0]; 276 List<int> bytes = test[0];
277 Expect.throws(() => decode(bytes), (e) => e is FormatException); 277 Expect.throws(() => decode(bytes), (e) => e is FormatException);
278 Expect.throws(() => decode2(bytes), (e) => e is FormatException); 278 Expect.throws(() => decode2(bytes), (e) => e is FormatException);
279 279
280 String expected = test[1]; 280 String expected = test[1];
281 Expect.equals(expected, decodeAllowMalformed(bytes)); 281 Expect.equals(expected, decodeAllowMalformed(bytes));
282 Expect.equals(expected, decodeAllowMalformed2(bytes)); 282 Expect.equals(expected, decodeAllowMalformed2(bytes));
283 } 283 }
284 } 284 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698