| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 "0000000000" "0000000000" "0000000000", ALLOW_OCTALS)); | 74 "0000000000" "0000000000" "0000000000", ALLOW_OCTALS)); |
| 75 } | 75 } |
| 76 | 76 |
| 77 | 77 |
| 78 TEST(MalformedOctal) { | 78 TEST(MalformedOctal) { |
| 79 UnicodeCache uc; | 79 UnicodeCache uc; |
| 80 CHECK_EQ(8.0, StringToDouble(&uc, "08", ALLOW_HEX | ALLOW_OCTALS)); | 80 CHECK_EQ(8.0, StringToDouble(&uc, "08", ALLOW_HEX | ALLOW_OCTALS)); |
| 81 CHECK_EQ(81.0, StringToDouble(&uc, "081", ALLOW_HEX | ALLOW_OCTALS)); | 81 CHECK_EQ(81.0, StringToDouble(&uc, "081", ALLOW_HEX | ALLOW_OCTALS)); |
| 82 CHECK_EQ(78.0, StringToDouble(&uc, "078", ALLOW_HEX | ALLOW_OCTALS)); | 82 CHECK_EQ(78.0, StringToDouble(&uc, "078", ALLOW_HEX | ALLOW_OCTALS)); |
| 83 | 83 |
| 84 CHECK(isnan(StringToDouble(&uc, "07.7", ALLOW_HEX | ALLOW_OCTALS))); | 84 CHECK(std::isnan(StringToDouble(&uc, "07.7", ALLOW_HEX | ALLOW_OCTALS))); |
| 85 CHECK(isnan(StringToDouble(&uc, "07.8", ALLOW_HEX | ALLOW_OCTALS))); | 85 CHECK(std::isnan(StringToDouble(&uc, "07.8", ALLOW_HEX | ALLOW_OCTALS))); |
| 86 CHECK(isnan(StringToDouble(&uc, "07e8", ALLOW_HEX | ALLOW_OCTALS))); | 86 CHECK(std::isnan(StringToDouble(&uc, "07e8", ALLOW_HEX | ALLOW_OCTALS))); |
| 87 CHECK(isnan(StringToDouble(&uc, "07e7", ALLOW_HEX | ALLOW_OCTALS))); | 87 CHECK(std::isnan(StringToDouble(&uc, "07e7", ALLOW_HEX | ALLOW_OCTALS))); |
| 88 | 88 |
| 89 CHECK_EQ(8.7, StringToDouble(&uc, "08.7", ALLOW_HEX | ALLOW_OCTALS)); | 89 CHECK_EQ(8.7, StringToDouble(&uc, "08.7", ALLOW_HEX | ALLOW_OCTALS)); |
| 90 CHECK_EQ(8e7, StringToDouble(&uc, "08e7", ALLOW_HEX | ALLOW_OCTALS)); | 90 CHECK_EQ(8e7, StringToDouble(&uc, "08e7", ALLOW_HEX | ALLOW_OCTALS)); |
| 91 | 91 |
| 92 CHECK_EQ(0.001, StringToDouble(&uc, "0.001", ALLOW_HEX | ALLOW_OCTALS)); | 92 CHECK_EQ(0.001, StringToDouble(&uc, "0.001", ALLOW_HEX | ALLOW_OCTALS)); |
| 93 CHECK_EQ(0.713, StringToDouble(&uc, "0.713", ALLOW_HEX | ALLOW_OCTALS)); | 93 CHECK_EQ(0.713, StringToDouble(&uc, "0.713", ALLOW_HEX | ALLOW_OCTALS)); |
| 94 | 94 |
| 95 CHECK_EQ(8.0, StringToDouble(&uc, "08", ALLOW_HEX)); | 95 CHECK_EQ(8.0, StringToDouble(&uc, "08", ALLOW_HEX)); |
| 96 CHECK_EQ(81.0, StringToDouble(&uc, "081", ALLOW_HEX)); | 96 CHECK_EQ(81.0, StringToDouble(&uc, "081", ALLOW_HEX)); |
| 97 CHECK_EQ(78.0, StringToDouble(&uc, "078", ALLOW_HEX)); | 97 CHECK_EQ(78.0, StringToDouble(&uc, "078", ALLOW_HEX)); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 116 StringToDouble(&uc, "077qqq", ALLOW_OCTALS | ALLOW_TRAILING_JUNK)); | 116 StringToDouble(&uc, "077qqq", ALLOW_OCTALS | ALLOW_TRAILING_JUNK)); |
| 117 CHECK_EQ(10.0, | 117 CHECK_EQ(10.0, |
| 118 StringToDouble(&uc, "10e", ALLOW_OCTALS | ALLOW_TRAILING_JUNK)); | 118 StringToDouble(&uc, "10e", ALLOW_OCTALS | ALLOW_TRAILING_JUNK)); |
| 119 CHECK_EQ(10.0, | 119 CHECK_EQ(10.0, |
| 120 StringToDouble(&uc, "10e-", ALLOW_OCTALS | ALLOW_TRAILING_JUNK)); | 120 StringToDouble(&uc, "10e-", ALLOW_OCTALS | ALLOW_TRAILING_JUNK)); |
| 121 } | 121 } |
| 122 | 122 |
| 123 | 123 |
| 124 TEST(NonStrDecimalLiteral) { | 124 TEST(NonStrDecimalLiteral) { |
| 125 UnicodeCache uc; | 125 UnicodeCache uc; |
| 126 CHECK(isnan(StringToDouble(&uc, " ", NO_FLAGS, OS::nan_value()))); | 126 CHECK(std::isnan(StringToDouble(&uc, " ", NO_FLAGS, OS::nan_value()))); |
| 127 CHECK(isnan(StringToDouble(&uc, "", NO_FLAGS, OS::nan_value()))); | 127 CHECK(std::isnan(StringToDouble(&uc, "", NO_FLAGS, OS::nan_value()))); |
| 128 CHECK(isnan(StringToDouble(&uc, " ", NO_FLAGS, OS::nan_value()))); | 128 CHECK(std::isnan(StringToDouble(&uc, " ", NO_FLAGS, OS::nan_value()))); |
| 129 CHECK_EQ(0.0, StringToDouble(&uc, "", NO_FLAGS)); | 129 CHECK_EQ(0.0, StringToDouble(&uc, "", NO_FLAGS)); |
| 130 CHECK_EQ(0.0, StringToDouble(&uc, " ", NO_FLAGS)); | 130 CHECK_EQ(0.0, StringToDouble(&uc, " ", NO_FLAGS)); |
| 131 } | 131 } |
| 132 | 132 |
| 133 TEST(IntegerStrLiteral) { | 133 TEST(IntegerStrLiteral) { |
| 134 UnicodeCache uc; | 134 UnicodeCache uc; |
| 135 CHECK_EQ(0.0, StringToDouble(&uc, "0.0", NO_FLAGS)); | 135 CHECK_EQ(0.0, StringToDouble(&uc, "0.0", NO_FLAGS)); |
| 136 CHECK_EQ(0.0, StringToDouble(&uc, "0", NO_FLAGS)); | 136 CHECK_EQ(0.0, StringToDouble(&uc, "0", NO_FLAGS)); |
| 137 CHECK_EQ(0.0, StringToDouble(&uc, "00", NO_FLAGS)); | 137 CHECK_EQ(0.0, StringToDouble(&uc, "00", NO_FLAGS)); |
| 138 CHECK_EQ(0.0, StringToDouble(&uc, "000", NO_FLAGS)); | 138 CHECK_EQ(0.0, StringToDouble(&uc, "000", NO_FLAGS)); |
| 139 CHECK_EQ(1.0, StringToDouble(&uc, "1", NO_FLAGS)); | 139 CHECK_EQ(1.0, StringToDouble(&uc, "1", NO_FLAGS)); |
| 140 CHECK_EQ(-1.0, StringToDouble(&uc, "-1", NO_FLAGS)); | 140 CHECK_EQ(-1.0, StringToDouble(&uc, "-1", NO_FLAGS)); |
| 141 CHECK_EQ(-1.0, StringToDouble(&uc, " -1 ", NO_FLAGS)); | 141 CHECK_EQ(-1.0, StringToDouble(&uc, " -1 ", NO_FLAGS)); |
| 142 CHECK_EQ(1.0, StringToDouble(&uc, " +1 ", NO_FLAGS)); | 142 CHECK_EQ(1.0, StringToDouble(&uc, " +1 ", NO_FLAGS)); |
| 143 CHECK(isnan(StringToDouble(&uc, " - 1 ", NO_FLAGS))); | 143 CHECK(std::isnan(StringToDouble(&uc, " - 1 ", NO_FLAGS))); |
| 144 CHECK(isnan(StringToDouble(&uc, " + 1 ", NO_FLAGS))); | 144 CHECK(std::isnan(StringToDouble(&uc, " + 1 ", NO_FLAGS))); |
| 145 | 145 |
| 146 CHECK_EQ(0.0, StringToDouble(&uc, "0e0", ALLOW_HEX | ALLOW_OCTALS)); | 146 CHECK_EQ(0.0, StringToDouble(&uc, "0e0", ALLOW_HEX | ALLOW_OCTALS)); |
| 147 CHECK_EQ(0.0, StringToDouble(&uc, "0e1", ALLOW_HEX | ALLOW_OCTALS)); | 147 CHECK_EQ(0.0, StringToDouble(&uc, "0e1", ALLOW_HEX | ALLOW_OCTALS)); |
| 148 CHECK_EQ(0.0, StringToDouble(&uc, "0e-1", ALLOW_HEX | ALLOW_OCTALS)); | 148 CHECK_EQ(0.0, StringToDouble(&uc, "0e-1", ALLOW_HEX | ALLOW_OCTALS)); |
| 149 CHECK_EQ(0.0, StringToDouble(&uc, "0e-100000", ALLOW_HEX | ALLOW_OCTALS)); | 149 CHECK_EQ(0.0, StringToDouble(&uc, "0e-100000", ALLOW_HEX | ALLOW_OCTALS)); |
| 150 CHECK_EQ(0.0, StringToDouble(&uc, "0e+100000", ALLOW_HEX | ALLOW_OCTALS)); | 150 CHECK_EQ(0.0, StringToDouble(&uc, "0e+100000", ALLOW_HEX | ALLOW_OCTALS)); |
| 151 CHECK_EQ(0.0, StringToDouble(&uc, "0.", ALLOW_HEX | ALLOW_OCTALS)); | 151 CHECK_EQ(0.0, StringToDouble(&uc, "0.", ALLOW_HEX | ALLOW_OCTALS)); |
| 152 } | 152 } |
| 153 | 153 |
| 154 TEST(LongNumberStr) { | 154 TEST(LongNumberStr) { |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 CHECK(EightBit1::is_valid(i)); | 279 CHECK(EightBit1::is_valid(i)); |
| 280 x = EightBit1::encode(i); | 280 x = EightBit1::encode(i); |
| 281 CHECK_EQ(i, EightBit1::decode(x)); | 281 CHECK_EQ(i, EightBit1::decode(x)); |
| 282 CHECK(EightBit2::is_valid(i)); | 282 CHECK(EightBit2::is_valid(i)); |
| 283 x = EightBit2::encode(i); | 283 x = EightBit2::encode(i); |
| 284 CHECK_EQ(i, EightBit2::decode(x)); | 284 CHECK_EQ(i, EightBit2::decode(x)); |
| 285 } | 285 } |
| 286 CHECK(!EightBit1::is_valid(256)); | 286 CHECK(!EightBit1::is_valid(256)); |
| 287 CHECK(!EightBit2::is_valid(256)); | 287 CHECK(!EightBit2::is_valid(256)); |
| 288 } | 288 } |
| OLD | NEW |