| Index: test/cctest/test-heap.cc
|
| diff --git a/test/cctest/test-heap.cc b/test/cctest/test-heap.cc
|
| index e824bae95e5ad431e6b87915ee36ec92e1e58eed..1461532d2846bfa7f166f26d76fac002f3a96adc 100644
|
| --- a/test/cctest/test-heap.cc
|
| +++ b/test/cctest/test-heap.cc
|
| @@ -210,7 +210,9 @@ TEST(HeapObjects) {
|
|
|
| Handle<String> object_string = Handle<String>::cast(factory->Object_string());
|
| Handle<GlobalObject> global(CcTest::i_isolate()->context()->global_object());
|
| - CHECK(JSReceiver::HasOwnProperty(global, object_string));
|
| + v8::Maybe<bool> maybe = JSReceiver::HasOwnProperty(global, object_string);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
|
|
| // Check ToString for oddballs
|
| CheckOddball(isolate, heap->true_value(), "true");
|
| @@ -277,7 +279,9 @@ TEST(GarbageCollection) {
|
| heap->CollectGarbage(NEW_SPACE);
|
|
|
| // Function should be alive.
|
| - CHECK(JSReceiver::HasOwnProperty(global, name));
|
| + v8::Maybe<bool> maybe = JSReceiver::HasOwnProperty(global, name);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
| // Check function is retained.
|
| Handle<Object> func_value =
|
| Object::GetProperty(global, name).ToHandleChecked();
|
| @@ -295,7 +299,9 @@ TEST(GarbageCollection) {
|
| // After gc, it should survive.
|
| heap->CollectGarbage(NEW_SPACE);
|
|
|
| - CHECK(JSReceiver::HasOwnProperty(global, obj_name));
|
| + maybe = JSReceiver::HasOwnProperty(global, obj_name);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
| Handle<Object> obj =
|
| Object::GetProperty(global, obj_name).ToHandleChecked();
|
| CHECK(obj->IsJSObject());
|
| @@ -652,55 +658,85 @@ TEST(ObjectProperties) {
|
| Handle<Smi> two(Smi::FromInt(2), isolate);
|
|
|
| // check for empty
|
| - CHECK(!JSReceiver::HasOwnProperty(obj, first));
|
| + v8::Maybe<bool> maybe = JSReceiver::HasOwnProperty(obj, first);
|
| + CHECK(maybe.has_value);
|
| + CHECK(!maybe.value);
|
|
|
| // add first
|
| JSReceiver::SetProperty(obj, first, one, SLOPPY).Check();
|
| - CHECK(JSReceiver::HasOwnProperty(obj, first));
|
| + maybe = JSReceiver::HasOwnProperty(obj, first);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
|
|
| // delete first
|
| JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION).Check();
|
| - CHECK(!JSReceiver::HasOwnProperty(obj, first));
|
| + maybe = JSReceiver::HasOwnProperty(obj, first);
|
| + CHECK(maybe.has_value);
|
| + CHECK(!maybe.value);
|
|
|
| // add first and then second
|
| JSReceiver::SetProperty(obj, first, one, SLOPPY).Check();
|
| JSReceiver::SetProperty(obj, second, two, SLOPPY).Check();
|
| - CHECK(JSReceiver::HasOwnProperty(obj, first));
|
| - CHECK(JSReceiver::HasOwnProperty(obj, second));
|
| + maybe = JSReceiver::HasOwnProperty(obj, first);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
| + maybe = JSReceiver::HasOwnProperty(obj, second);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
|
|
| // delete first and then second
|
| JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION).Check();
|
| - CHECK(JSReceiver::HasOwnProperty(obj, second));
|
| + maybe = JSReceiver::HasOwnProperty(obj, second);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
| JSReceiver::DeleteProperty(obj, second, JSReceiver::NORMAL_DELETION).Check();
|
| - CHECK(!JSReceiver::HasOwnProperty(obj, first));
|
| - CHECK(!JSReceiver::HasOwnProperty(obj, second));
|
| + maybe = JSReceiver::HasOwnProperty(obj, first);
|
| + CHECK(maybe.has_value);
|
| + CHECK(!maybe.value);
|
| + maybe = JSReceiver::HasOwnProperty(obj, second);
|
| + CHECK(maybe.has_value);
|
| + CHECK(!maybe.value);
|
|
|
| // add first and then second
|
| JSReceiver::SetProperty(obj, first, one, SLOPPY).Check();
|
| JSReceiver::SetProperty(obj, second, two, SLOPPY).Check();
|
| - CHECK(JSReceiver::HasOwnProperty(obj, first));
|
| - CHECK(JSReceiver::HasOwnProperty(obj, second));
|
| + maybe = JSReceiver::HasOwnProperty(obj, first);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
| + maybe = JSReceiver::HasOwnProperty(obj, second);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
|
|
| // delete second and then first
|
| JSReceiver::DeleteProperty(obj, second, JSReceiver::NORMAL_DELETION).Check();
|
| - CHECK(JSReceiver::HasOwnProperty(obj, first));
|
| + maybe = JSReceiver::HasOwnProperty(obj, first);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
| JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION).Check();
|
| - CHECK(!JSReceiver::HasOwnProperty(obj, first));
|
| - CHECK(!JSReceiver::HasOwnProperty(obj, second));
|
| + maybe = JSReceiver::HasOwnProperty(obj, first);
|
| + CHECK(maybe.has_value);
|
| + CHECK(!maybe.value);
|
| + maybe = JSReceiver::HasOwnProperty(obj, second);
|
| + CHECK(maybe.has_value);
|
| + CHECK(!maybe.value);
|
|
|
| // check string and internalized string match
|
| const char* string1 = "fisk";
|
| Handle<String> s1 = factory->NewStringFromAsciiChecked(string1);
|
| JSReceiver::SetProperty(obj, s1, one, SLOPPY).Check();
|
| Handle<String> s1_string = factory->InternalizeUtf8String(string1);
|
| - CHECK(JSReceiver::HasOwnProperty(obj, s1_string));
|
| + maybe = JSReceiver::HasOwnProperty(obj, s1_string);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
|
|
| // check internalized string and string match
|
| const char* string2 = "fugl";
|
| Handle<String> s2_string = factory->InternalizeUtf8String(string2);
|
| JSReceiver::SetProperty(obj, s2_string, one, SLOPPY).Check();
|
| Handle<String> s2 = factory->NewStringFromAsciiChecked(string2);
|
| - CHECK(JSReceiver::HasOwnProperty(obj, s2));
|
| + maybe = JSReceiver::HasOwnProperty(obj, s2);
|
| + CHECK(maybe.has_value);
|
| + CHECK(maybe.value);
|
| }
|
|
|
|
|
|
|