| Index: tests/lib/math/math_parse_double_test.dart
|
| diff --git a/tests/lib/math/math_parse_double_test.dart b/tests/lib/math/math_parse_double_test.dart
|
| index af77f6b6c232105e093662b26a1c3093eb6eb54a..5f7e46c1718451b6e66684206de218ad63f16f02 100644
|
| --- a/tests/lib/math/math_parse_double_test.dart
|
| +++ b/tests/lib/math/math_parse_double_test.dart
|
| @@ -21,6 +21,12 @@ void main() {
|
| Expect.equals(499.0, double.parse(" 499 "));
|
| Expect.equals(499.0, double.parse(" +499 "));
|
| Expect.equals(-499.0, double.parse(" -499 "));
|
| + Expect.equals(499.0, double.parse("\xA0 499 \xA0"));
|
| + Expect.equals(499.0, double.parse("\xA0 +499 \xA0"));
|
| + Expect.equals(-499.0, double.parse("\xA0 -499 \xA0"));
|
| + Expect.equals(499.0, double.parse("\u20F5 499 \u20F5"));
|
| + Expect.equals(499.0, double.parse("\u180E +499 \u20F5"));
|
| + Expect.equals(-499.0, double.parse("\u1680 -499 \u2006"));
|
| Expect.equals(0.0, double.parse("0"));
|
| Expect.equals(0.0, double.parse("+0"));
|
| Expect.equals(-0.0, double.parse("-0"));
|
| @@ -29,65 +35,131 @@ void main() {
|
| Expect.equals(0.0, double.parse(" +0 "));
|
| Expect.equals(-0.0, double.parse(" -0 "));
|
| Expect.equals(true, double.parse(" -0 ").isNegative);
|
| - Expect.equals(1.0 * 0x1234567890, double.parse("0x1234567890"));
|
| - Expect.equals(1.0 * -0x1234567890, double.parse("-0x1234567890"));
|
| - Expect.equals(1.0 * 0x1234567890, double.parse(" 0x1234567890 "));
|
| - Expect.equals(1.0 * -0x1234567890, double.parse(" -0x1234567890 "));
|
| - Expect.equals(256.0, double.parse("0x100"));
|
| - Expect.equals(-256.0, double.parse("-0x100"));
|
| - Expect.equals(256.0, double.parse(" 0x100 "));
|
| - Expect.equals(-256.0, double.parse(" -0x100 "));
|
| - Expect.equals(1.0 * 0xabcdef, double.parse("0xabcdef"));
|
| - Expect.equals(1.0 * 0xABCDEF, double.parse("0xABCDEF"));
|
| - Expect.equals(1.0 * 0xabcdef, double.parse("0xabCDEf"));
|
| - Expect.equals(1.0 * -0xabcdef, double.parse("-0xabcdef"));
|
| - Expect.equals(1.0 * -0xABCDEF, double.parse("-0xABCDEF"));
|
| - Expect.equals(1.0 * 0xabcdef, double.parse(" 0xabcdef "));
|
| - Expect.equals(1.0 * 0xABCDEF, double.parse(" 0xABCDEF "));
|
| - Expect.equals(1.0 * -0xabcdef, double.parse(" -0xabcdef "));
|
| - Expect.equals(1.0 * -0xABCDEF, double.parse(" -0xABCDEF "));
|
| - Expect.equals(1.0 * 0xabcdef, double.parse("0x00000abcdef"));
|
| - Expect.equals(1.0 * 0xABCDEF, double.parse("0x00000ABCDEF"));
|
| - Expect.equals(1.0 * -0xabcdef, double.parse("-0x00000abcdef"));
|
| - Expect.equals(1.0 * -0xABCDEF, double.parse("-0x00000ABCDEF"));
|
| - Expect.equals(1.0 * 0xabcdef, double.parse(" 0x00000abcdef "));
|
| - Expect.equals(1.0 * 0xABCDEF, double.parse(" 0x00000ABCDEF "));
|
| - Expect.equals(1.0 * -0xabcdef, double.parse(" -0x00000abcdef "));
|
| - Expect.equals(1.0 * -0xABCDEF, double.parse(" -0x00000ABCDEF "));
|
| + Expect.equals(0.0, double.parse("\xA0 0 \xA0"));
|
| + Expect.equals(0.0, double.parse("\xA0 +0 \xA0"));
|
| + Expect.equals(-0.0, double.parse("\xA0 -0 \xA0"));
|
| + Expect.equals(true, double.parse("\xA0 -0 \xA0").isNegative);
|
| Expect.equals(10.0, double.parse("010"));
|
| Expect.equals(-10.0, double.parse("-010"));
|
| Expect.equals(10.0, double.parse(" 010 "));
|
| Expect.equals(-10.0, double.parse(" -010 "));
|
| + Expect.equals(10.0, double.parse(" \xA0 010 \xA0 "));
|
| + Expect.equals(-10.0, double.parse(" \xA0 -010 \xA0 "));
|
| Expect.equals(0.1, double.parse("0.1"));
|
| Expect.equals(0.1, double.parse(" 0.1 "));
|
| Expect.equals(0.1, double.parse(" +0.1 "));
|
| Expect.equals(-0.1, double.parse(" -0.1 "));
|
| + Expect.equals(0.1, double.parse("\xA0 0.1 \xA0"));
|
| + Expect.equals(0.1, double.parse("\xA0 +0.1 \xA0"));
|
| + Expect.equals(-0.1, double.parse("\xA0 -0.1 \xA0"));
|
| Expect.equals(0.1, double.parse(".1"));
|
| Expect.equals(0.1, double.parse(" .1 "));
|
| Expect.equals(0.1, double.parse(" +.1 "));
|
| Expect.equals(-0.1, double.parse(" -.1 "));
|
| + Expect.equals(0.1, double.parse("\xA0 .1 \xA0"));
|
| + Expect.equals(0.1, double.parse("\xA0 +.1 \xA0"));
|
| + Expect.equals(-0.1, double.parse("\xA0 -.1 \xA0"));
|
| Expect.equals(1.5, double.parse("1.5"));
|
| Expect.equals(1234567.89, double.parse("1234567.89"));
|
| Expect.equals(1234567.89, double.parse(" 1234567.89 "));
|
| Expect.equals(1234567.89, double.parse(" +1234567.89 "));
|
| Expect.equals(-1234567.89, double.parse(" -1234567.89 "));
|
| + Expect.equals(1234567.89, double.parse(" \xA01234567.89 \xA0"));
|
| + Expect.equals(1234567.89, double.parse("\xA0 +1234567.89 \xA0"));
|
| + Expect.equals(-1234567.89, double.parse("\xA0 -1234567.89 \xA0"));
|
| Expect.equals(1234567e89, double.parse("1234567e89"));
|
| Expect.equals(1234567e89, double.parse(" 1234567e89 "));
|
| Expect.equals(1234567e89, double.parse(" +1234567e89 "));
|
| Expect.equals(-1234567e89, double.parse(" -1234567e89 "));
|
| + Expect.equals(1234567e89, double.parse("\xA0 1234567e89 \xA0"));
|
| + Expect.equals(1234567e89, double.parse("\xA0 +1234567e89 \xA0"));
|
| + Expect.equals(-1234567e89, double.parse(" \xA0 -1234567e89 \xA0"));
|
| Expect.equals(1234567.89e2, double.parse("1234567.89e2"));
|
| Expect.equals(1234567.89e2, double.parse(" 1234567.89e2 "));
|
| Expect.equals(1234567.89e2, double.parse(" +1234567.89e2 "));
|
| Expect.equals(-1234567.89e2, double.parse(" -1234567.89e2 "));
|
| + Expect.equals(1234567.89e2, double.parse("\xA0 1234567.89e2 \xA0"));
|
| + Expect.equals(1234567.89e2, double.parse("\xA0 +1234567.89e2\xA0 "));
|
| + Expect.equals(-1234567.89e2, double.parse("\xA0 -1234567.89e2 \xA0"));
|
| Expect.equals(1234567.89e2, double.parse("1234567.89E2"));
|
| Expect.equals(1234567.89e2, double.parse(" 1234567.89E2 "));
|
| Expect.equals(1234567.89e2, double.parse(" +1234567.89E2 "));
|
| Expect.equals(-1234567.89e2, double.parse(" -1234567.89E2 "));
|
| + Expect.equals(1234567.89e2, double.parse(" \xA0 1234567.89E2 \xA0"));
|
| + Expect.equals(1234567.89e2, double.parse("\xA0 +1234567.89E2\xA0 "));
|
| + Expect.equals(-1234567.89e2, double.parse("\xA0 -1234567.89E2\xA0 "));
|
| Expect.equals(1234567.89e-2, double.parse("1234567.89e-2"));
|
| Expect.equals(1234567.89e-2, double.parse(" 1234567.89e-2 "));
|
| Expect.equals(1234567.89e-2, double.parse(" +1234567.89e-2 "));
|
| Expect.equals(-1234567.89e-2, double.parse(" -1234567.89e-2 "));
|
| - // TODO(floitsch): add tests for NaN and Infinity.
|
| + Expect.equals(1234567.89e-2, double.parse(" \xA0 1234567.89e-2 \xA0"));
|
| + Expect.equals(1234567.89e-2, double.parse("\xA0 +1234567.89e-2 \xA0"));
|
| + Expect.equals(-1234567.89e-2, double.parse("\xA0 -1234567.89e-2 \xA0"));
|
| + Expect.equals(5, double.parse("5."));
|
| + Expect.equals(-5, double.parse("-5."));
|
| + Expect.equals(5, double.parse(" 5."));
|
| + Expect.equals(-5, double.parse(" -5."));
|
| + Expect.equals(5, double.parse(" 5. "));
|
| + Expect.equals(-5, double.parse(" -5. "));
|
| + Expect.equals(5, double.parse("5. "));
|
| + Expect.equals(-5, double.parse("-5. "));
|
| + Expect.equals(-5, double.parse("-5."));
|
| + Expect.equals(5, double.parse("\xA0 5."));
|
| + Expect.equals(-5, double.parse("\xA0-5."));
|
| + Expect.equals(5, double.parse("\xA05.\xA0"));
|
| + Expect.equals(-5, double.parse("\xA0-5.\xA0"));
|
| + Expect.equals(5, double.parse("5.\xA0"));
|
| + Expect.equals(-5, double.parse("-5.\xA0"));
|
| + Expect.equals(double.INFINITY, double.parse("Infinity"));
|
| + Expect.equals(double.INFINITY, double.parse("+Infinity"));
|
| + Expect.equals(double.NEGATIVE_INFINITY, double.parse("-Infinity"));
|
| + Expect.isTrue(double.parse("NaN").isNaN);
|
| + Expect.isTrue(double.parse("-NaN").isNaN);
|
| + Expect.isTrue(double.parse("+NaN").isNaN);
|
| + Expect.equals(double.INFINITY, double.parse("Infinity "));
|
| + Expect.equals(double.INFINITY, double.parse("+Infinity "));
|
| + Expect.equals(double.NEGATIVE_INFINITY, double.parse("-Infinity "));
|
| + Expect.isTrue(double.parse("NaN ").isNaN);
|
| + Expect.isTrue(double.parse("-NaN ").isNaN);
|
| + Expect.isTrue(double.parse("+NaN ").isNaN);
|
| + Expect.equals(double.INFINITY, double.parse(" Infinity "));
|
| + Expect.equals(double.INFINITY, double.parse(" +Infinity "));
|
| + Expect.equals(double.NEGATIVE_INFINITY, double.parse(" -Infinity "));
|
| + Expect.isTrue(double.parse(" NaN ").isNaN);
|
| + Expect.isTrue(double.parse(" -NaN ").isNaN);
|
| + Expect.isTrue(double.parse(" +NaN ").isNaN);
|
| + Expect.equals(double.INFINITY, double.parse(" Infinity"));
|
| + Expect.equals(double.INFINITY, double.parse(" +Infinity"));
|
| + Expect.equals(double.NEGATIVE_INFINITY, double.parse(" -Infinity"));
|
| + Expect.isTrue(double.parse(" NaN").isNaN);
|
| + Expect.isTrue(double.parse(" -NaN").isNaN);
|
| + Expect.isTrue(double.parse(" +NaN").isNaN);
|
| + Expect.equals(double.INFINITY, double.parse("Infinity\xA0"));
|
| + Expect.equals(double.INFINITY, double.parse("+Infinity\xA0"));
|
| + Expect.equals(double.NEGATIVE_INFINITY, double.parse("-Infinity\xA0"));
|
| + Expect.isTrue(double.parse("NaN\xA0").isNaN);
|
| + Expect.isTrue(double.parse("-NaN\xA0").isNaN);
|
| + Expect.isTrue(double.parse("+NaN\xA0").isNaN);
|
| + Expect.equals(double.INFINITY, double.parse(" \xA0Infinity\xA0"));
|
| + Expect.equals(double.INFINITY, double.parse(" \xA0+Infinity\xA0"));
|
| + Expect.equals(double.NEGATIVE_INFINITY, double.parse(" \xA0-Infinity\xA0"));
|
| + Expect.isTrue(double.parse(" \xA0NaN\xA0").isNaN);
|
| + Expect.isTrue(double.parse(" \xA0-NaN\xA0").isNaN);
|
| + Expect.isTrue(double.parse(" \xA0+NaN\xA0").isNaN);
|
| + Expect.equals(double.INFINITY, double.parse(" \xA0Infinity"));
|
| + Expect.equals(double.INFINITY, double.parse(" \xA0+Infinity"));
|
| + Expect.equals(double.NEGATIVE_INFINITY, double.parse(" \xA0-Infinity"));
|
| + Expect.isTrue(double.parse(" \xA0NaN").isNaN);
|
| + Expect.isTrue(double.parse(" \xA0-NaN").isNaN);
|
| + Expect.isTrue(double.parse(" \xA0+NaN").isNaN);
|
| + Expect.equals(123456700.0, double.parse("1234567.e2"));
|
| + Expect.equals(123456700.0, double.parse(" 1234567.e2 "));
|
| + Expect.equals(123456700.0, double.parse(" +1234567.e2 "));
|
| + Expect.equals(-123456700.0, double.parse(" -1234567.e2 "));
|
| + Expect.equals(123456700.0, double.parse("\xA0 1234567.e2\xA0"));
|
| + Expect.equals(123456700.0, double.parse("\xA0 +1234567.e2 \xA0"));
|
| + Expect.equals(-123456700.0, double.parse(" \xA0-1234567.e2 \xA0 "));
|
| +
|
| parseDoubleThrowsFormatException("1b");
|
| parseDoubleThrowsFormatException(" 1b ");
|
| parseDoubleThrowsFormatException(" 1 b ");
|
| @@ -106,16 +178,37 @@ void main() {
|
| parseDoubleThrowsFormatException("- 1.5");
|
| parseDoubleThrowsFormatException("");
|
| parseDoubleThrowsFormatException(" ");
|
| - parseDoubleThrowsFormatException("5.");
|
| - parseDoubleThrowsFormatException(" 5. ");
|
| - parseDoubleThrowsFormatException(" +5. ");
|
| - parseDoubleThrowsFormatException(" -5. ");
|
| - parseDoubleThrowsFormatException("1234567.e2");
|
| - parseDoubleThrowsFormatException(" 1234567.e2 ");
|
| - parseDoubleThrowsFormatException(" +1234567.e2 ");
|
| - parseDoubleThrowsFormatException(" -1234567.e2 ");
|
| parseDoubleThrowsFormatException("+0x1234567890");
|
| parseDoubleThrowsFormatException(" +0x1234567890 ");
|
| parseDoubleThrowsFormatException(" +0x100 ");
|
| parseDoubleThrowsFormatException("+0x100");
|
| + parseDoubleThrowsFormatException("0x1234567890");
|
| + parseDoubleThrowsFormatException("-0x1234567890");
|
| + parseDoubleThrowsFormatException(" 0x1234567890 ");
|
| + parseDoubleThrowsFormatException(" -0x1234567890 ");
|
| + parseDoubleThrowsFormatException("0x100");
|
| + parseDoubleThrowsFormatException("-0x100");
|
| + parseDoubleThrowsFormatException(" 0x100 ");
|
| + parseDoubleThrowsFormatException(" -0x100 ");
|
| + parseDoubleThrowsFormatException("0xabcdef");
|
| + parseDoubleThrowsFormatException("0xABCDEF");
|
| + parseDoubleThrowsFormatException("0xabCDEf");
|
| + parseDoubleThrowsFormatException("-0xabcdef");
|
| + parseDoubleThrowsFormatException("-0xABCDEF");
|
| + parseDoubleThrowsFormatException(" 0xabcdef ");
|
| + parseDoubleThrowsFormatException(" 0xABCDEF ");
|
| + parseDoubleThrowsFormatException(" -0xabcdef ");
|
| + parseDoubleThrowsFormatException(" -0xABCDEF ");
|
| + parseDoubleThrowsFormatException("0x00000abcdef");
|
| + parseDoubleThrowsFormatException("0x00000ABCDEF");
|
| + parseDoubleThrowsFormatException("-0x00000abcdef");
|
| + parseDoubleThrowsFormatException("-0x00000ABCDEF");
|
| + parseDoubleThrowsFormatException(" 0x00000abcdef ");
|
| + parseDoubleThrowsFormatException(" 0x00000ABCDEF ");
|
| + parseDoubleThrowsFormatException(" -0x00000abcdef ");
|
| + parseDoubleThrowsFormatException(" -0x00000ABCDEF ");
|
| + parseDoubleThrowsFormatException(" -INFINITY ");
|
| + parseDoubleThrowsFormatException(" NAN ");
|
| + parseDoubleThrowsFormatException(" inf ");
|
| + parseDoubleThrowsFormatException(" nan ");
|
| }
|
|
|