Index: test/cctest/test-conversions.cc |
diff --git a/test/cctest/test-conversions.cc b/test/cctest/test-conversions.cc |
index 2fee58a46d11a96f7370c5522fb541c3bce766f0..441bcaa7cd1d759ec667d8fb43677efdfa01f37c 100644 |
--- a/test/cctest/test-conversions.cc |
+++ b/test/cctest/test-conversions.cc |
@@ -444,3 +444,19 @@ TEST(NoHandlesForTryNumberToSize) { |
} |
} |
} |
+ |
+TEST(CastErrorInTryNumberToSize) { |
+ i::Isolate* isolate = CcTest::i_isolate(); |
+ UnicodeCache uc; |
+ size_t result = 0; |
+ { |
+ HandleScope scope(isolate); |
+ double value = StringToDouble(&uc, "0x10000000000000000", |
ahaas
2016/12/07 16:20:38
I think you could just write
double value = 18446
qiuyi.zqy
2016/12/07 18:13:36
Done.
|
+ ALLOW_HEX | ALLOW_IMPLICIT_OCTAL); |
+ Handle<HeapNumber> heap_number = isolate->factory()->NewHeapNumber(value); |
+ bool success = TryNumberToSize(*heap_number, &result); |
+ if (success && value > 0) { |
ahaas
2016/12/07 16:20:38
I think you could just write "CHECK(!success);" in
qiuyi.zqy
2016/12/07 18:13:36
Done.
|
+ CHECK(result != 0); |
+ } |
+ } |
+} |