| Index: test/cctest/test-conversions.cc
|
| diff --git a/test/cctest/test-conversions.cc b/test/cctest/test-conversions.cc
|
| index b7881edcf6d3d81d5febb646989511f3b6ed10d1..c8b87d8989a56e0e3382880164a412c8d6f9285d 100644
|
| --- a/test/cctest/test-conversions.cc
|
| +++ b/test/cctest/test-conversions.cc
|
| @@ -362,3 +362,57 @@ TEST(BitField64) {
|
| CHECK(x == MiddleBits::encode(3));
|
| CHECK_EQ(3, MiddleBits::decode(x));
|
| }
|
| +
|
| +
|
| +static void CheckNonArrayIndex(bool expected, const char* chars) {
|
| + auto isolate = CcTest::i_isolate();
|
| + auto string = isolate->factory()->NewStringFromAsciiChecked(chars);
|
| + CHECK_EQ(expected, IsNonArrayIndexInteger(*string));
|
| +}
|
| +
|
| +
|
| +TEST(NonArrayIndexParsing) {
|
| + auto isolate = CcTest::i_isolate();
|
| + HandleScope scope(isolate);
|
| + CheckNonArrayIndex(false, "-");
|
| + CheckNonArrayIndex(false, "0");
|
| + CheckNonArrayIndex(false, "01");
|
| + CheckNonArrayIndex(false, "-01");
|
| + CheckNonArrayIndex(false, "4294967295");
|
| + CheckNonArrayIndex(false, "429496.7295");
|
| + CheckNonArrayIndex(false, "43s3");
|
| + CheckNonArrayIndex(true, "-0");
|
| + CheckNonArrayIndex(true, "-1");
|
| + CheckNonArrayIndex(true, "4294967296");
|
| + CheckNonArrayIndex(true, "-4294967296");
|
| + CheckNonArrayIndex(
|
| + true,
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296");
|
| + CheckNonArrayIndex(
|
| + true,
|
| + "-429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296"
|
| + "429496729642949672964294967296429496729642949672964294967296");
|
| +}
|
|
|