| Index: tests/corelib/integer_to_radix_string_test.dart
|
| diff --git a/tests/corelib/integer_to_radix_string_test.dart b/tests/corelib/integer_to_radix_string_test.dart
|
| index 34db6fb2f8aaea6b9f1a6c4be4843242c2ad78d7..5ebd7e09106cf32dd86c9aab77ac618b922d32be 100644
|
| --- a/tests/corelib/integer_to_radix_string_test.dart
|
| +++ b/tests/corelib/integer_to_radix_string_test.dart
|
| @@ -11,7 +11,7 @@ main() {
|
| 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
|
| 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
|
| 'u', 'v', 'w', 'x', 'y', 'z'];
|
| - for (var radix = 2; radix < 37; radix++) {
|
| + for (var radix = 2; radix <= 36; radix++) {
|
| for (var i = 0; i < radix; i++) {
|
| Expect.equals(expected[i], i.toRadixString(radix));
|
| }
|
| @@ -26,4 +26,29 @@ main() {
|
| // Nothing to do.
|
| }
|
| }
|
| +
|
| + // Try large numbers (regression test for issue 15316).
|
| + var bignums = [
|
| + 0x80000000,
|
| + 0x100000000,
|
| + 0x10000000000000,
|
| + 0x10000000000001, // 53 significant bits.
|
| + 0x20000000000000,
|
| + 0x20000000000002,
|
| + 0x1000000000000000,
|
| + 0x1000000000000100,
|
| + 0x2000000000000000,
|
| + 0x2000000000000200,
|
| + 0x8000000000000000,
|
| + 0x8000000000000800,
|
| + 0x10000000000000000,
|
| + 0x10000000000001000,
|
| + ];
|
| + for (var bignum in bignums) {
|
| + for (int radix = 2; radix <= 36; radix++) {
|
| + String digits = bignum.toRadixString(radix);
|
| + int result = int.parse(digits, radix: radix);
|
| + Expect.equals(bignum, result, "$bignum -> $digits/$radix");
|
| + }
|
| + }
|
| }
|
|
|