| 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 | 4 |
| 5 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
| 6 | 6 |
| 7 void main() { | 7 void main() { |
| 8 testOutOfRange(); | 8 testOutOfRange(); |
| 9 testIllegalArgument(); | 9 testIllegalArgument(); |
| 10 testConcat(); | 10 testConcat(); |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 "\u2028", | 404 "\u2028", |
| 405 "abcdef\u2028", | 405 "abcdef\u2028", |
| 406 "\u{10002}", | 406 "\u{10002}", |
| 407 "abcdef\u{10002}" | 407 "abcdef\u{10002}" |
| 408 ]; | 408 ]; |
| 409 List<int> counts = [ | 409 List<int> counts = [ |
| 410 0, | 410 0, |
| 411 1, | 411 1, |
| 412 2, | 412 2, |
| 413 3, | 413 3, |
| 414 4, |
| 415 5, |
| 416 6, |
| 417 7, |
| 418 8, |
| 419 9, |
| 414 10, | 420 10, |
| 415 100 | 421 11, |
| 422 12, |
| 423 13, |
| 424 14, |
| 425 15, |
| 426 16, |
| 427 17, |
| 428 127, |
| 429 128, |
| 430 129 |
| 416 ]; | 431 ]; |
| 417 void testRepeat(str, repeat, sep) { | 432 void testRepeat(str, repeat) { |
| 418 String expect; | 433 String expect; |
| 419 if (repeat == 0) { | 434 if (repeat <= 0) { |
| 420 expect = ""; | 435 expect = ""; |
| 421 } else if (repeat == 1) { | 436 } else if (repeat == 1) { |
| 422 expect = str; | 437 expect = str; |
| 423 } else { | 438 } else { |
| 424 StringBuffer buf = new StringBuffer(str); | 439 StringBuffer buf = new StringBuffer(); |
| 425 for (int i = 1; i < repeat; i++) { | 440 for (int i = 0; i < repeat; i++) { |
| 426 buf.write(sep); | |
| 427 buf.write(str); | 441 buf.write(str); |
| 428 } | 442 } |
| 429 expect = buf.toString(); | 443 expect = buf.toString(); |
| 430 } | 444 } |
| 431 String actual = str.repeat(repeat, sep); | 445 String actual = str * repeat; |
| 432 Expect.equals(expect, actual, | 446 Expect.equals(expect, actual, |
| 433 "$str#${str.length}*$repeat/$sep#${sep.length}"); | 447 "$str#${str.length} * $repeat"); |
| 434 } | 448 } |
| 435 for (String str in testStrings) { | 449 for (String str in testStrings) { |
| 436 for (String sep in testStrings) { | 450 for (int repeat in counts) { |
| 437 for (int repeat in counts) { | 451 testRepeat(str, repeat); |
| 438 testRepeat(str, repeat, sep); | |
| 439 } | |
| 440 } | 452 } |
| 441 } | 453 } |
| 442 Expect.throws(() { "a".repeat(-1); }); | |
| 443 } | 454 } |
| 444 | 455 |
| 445 void testPadLeft() { | 456 void testPadLeft() { |
| 446 Expect.equals(" 1", "1".padLeft(5, ' ')); | 457 Expect.equals(" 1", "1".padLeft(5, ' ')); |
| 447 Expect.equals(" 11", "11".padLeft(5, ' ')); | 458 Expect.equals(" 11", "11".padLeft(5, ' ')); |
| 448 Expect.equals(" 111", "111".padLeft(5, ' ')); | 459 Expect.equals(" 111", "111".padLeft(5, ' ')); |
| 449 Expect.equals(" 1111", "1111".padLeft(5, ' ')); | 460 Expect.equals(" 1111", "1111".padLeft(5, ' ')); |
| 450 Expect.equals("11111", "11111".padLeft(5, ' ')); | 461 Expect.equals("11111", "11111".padLeft(5, ' ')); |
| 451 Expect.equals("111111", "111111".padLeft(5, ' ')); | 462 Expect.equals("111111", "111111".padLeft(5, ' ')); |
| 452 Expect.equals(" \u{10002}", "\u{10002}".padLeft(5, ' ')); | 463 Expect.equals(" \u{10002}", "\u{10002}".padLeft(5, ' ')); |
| 453 Expect.equals('', ''.padLeft(0, 'a')); | 464 Expect.equals('', ''.padLeft(0, 'a')); |
| 454 Expect.equals('a', ''.padLeft(1, 'a')); | 465 Expect.equals('a', ''.padLeft(1, 'a')); |
| 455 Expect.equals('aaaaa', ''.padLeft(5, 'a')); | 466 Expect.equals('aaaaa', ''.padLeft(5, 'a')); |
| 456 Expect.equals('', ''.padLeft(-2, 'a')); | 467 Expect.equals('', ''.padLeft(-2, 'a')); |
| 457 | 468 |
| 458 Expect.throws(() { ' '.padLeft(5, ''); }); | 469 Expect.equals('xyzxyzxyzxyzxyz', ''.padLeft(5, 'xyz')); |
| 459 Expect.throws(() { ' '.padLeft(5, 'xx'); }); | 470 Expect.equals('xyzxyzxyzxyza', 'a'.padLeft(5, 'xyz')); |
| 460 Expect.throws(() { ' '.padLeft(5, '\u{10002}'); }); | 471 Expect.equals('xyzxyzxyzaa', 'aa'.padLeft(5, 'xyz')); |
| 472 Expect.equals('\u{10002}\u{10002}\u{10002}aa', 'aa'.padLeft(5, '\u{10002}')); |
| 473 Expect.equals('a', 'a'.padLeft(10, '')); |
| 461 } | 474 } |
| 462 | 475 |
| 463 void testPadRight() { | 476 void testPadRight() { |
| 464 Expect.equals("1 ", "1".padRight(5, ' ')); | 477 Expect.equals("1 ", "1".padRight(5, ' ')); |
| 465 Expect.equals("11 ", "11".padRight(5, ' ')); | 478 Expect.equals("11 ", "11".padRight(5, ' ')); |
| 466 Expect.equals("111 ", "111".padRight(5, ' ')); | 479 Expect.equals("111 ", "111".padRight(5, ' ')); |
| 467 Expect.equals("1111 ", "1111".padRight(5, ' ')); | 480 Expect.equals("1111 ", "1111".padRight(5, ' ')); |
| 468 Expect.equals("11111", "11111".padRight(5, ' ')); | 481 Expect.equals("11111", "11111".padRight(5, ' ')); |
| 469 Expect.equals("111111", "111111".padRight(5, ' ')); | 482 Expect.equals("111111", "111111".padRight(5, ' ')); |
| 470 Expect.equals("\u{10002} ", "\u{10002}".padRight(5, ' ')); | 483 Expect.equals("\u{10002} ", "\u{10002}".padRight(5, ' ')); |
| 471 Expect.equals('', ''.padRight(0, 'a')); | 484 Expect.equals('', ''.padRight(0, 'a')); |
| 472 Expect.equals('a', ''.padRight(1, 'a')); | 485 Expect.equals('a', ''.padRight(1, 'a')); |
| 473 Expect.equals('aaaaa', ''.padRight(5, 'a')); | 486 Expect.equals('aaaaa', ''.padRight(5, 'a')); |
| 474 Expect.equals('', ''.padRight(-2, 'a')); | 487 Expect.equals('', ''.padRight(-2, 'a')); |
| 475 | 488 |
| 476 Expect.throws(() { ' '.padRight(5, ''); }); | 489 Expect.equals('xyzxyzxyzxyzxyz', ''.padRight(5, 'xyz')); |
| 477 Expect.throws(() { ' '.padRight(5, 'xx'); }); | 490 Expect.equals('axyzxyzxyzxyz', 'a'.padRight(5, 'xyz')); |
| 478 Expect.throws(() { ' '.padRight(5, '\u{10002}'); }); | 491 Expect.equals('aaxyzxyzxyz', 'aa'.padRight(5, 'xyz')); |
| 492 Expect.equals('aa\u{10002}\u{10002}\u{10002}', 'aa'.padRight(5, '\u{10002}')); |
| 493 Expect.equals('a', 'a'.padRight(10, '')); |
| 479 } | 494 } |
| OLD | NEW |