Chromium Code Reviews| Index: test/cctest/test-api-fast-accessor-builder.cc |
| diff --git a/test/cctest/test-api-fast-accessor-builder.cc b/test/cctest/test-api-fast-accessor-builder.cc |
| index ce22d9a59c160f01a62952e5ea69f8778d9ce8f9..134213204a37a39e14cc86bf75493394dedd24d5 100644 |
| --- a/test/cctest/test-api-fast-accessor-builder.cc |
| +++ b/test/cctest/test-api-fast-accessor-builder.cc |
| @@ -62,6 +62,18 @@ static void NativePropertyAccessor( |
| } // anonymous namespace |
| +void CheckImplicitParameters(const v8::FunctionCallbackInfo<v8::Value>& info) { |
| + v8::Isolate* isolate = info.GetIsolate(); |
| + CHECK_NOT_NULL(isolate); |
| + |
| + auto context = isolate->GetCurrentContext(); |
| + CHECK(!context.IsEmpty()); |
| + |
| + // The context must point to the same isolate, this should be enough to |
| + // validate the context, mainly to prevent having a random object instead. |
| + CHECK_EQ(isolate, context->GetIsolate()); |
| + CHECK(info.Data()->IsUndefined()); |
|
vogelheim
2016/07/19 12:46:10
Maybe we can check info.Holder()?
This should be
|
| +} |
| // Build a simple "fast accessor" and verify that it is being called. |
| TEST(FastAccessor) { |
| @@ -300,16 +312,19 @@ TEST(FastAccessorLoad) { |
| } |
| void ApiCallbackInt(const v8::FunctionCallbackInfo<v8::Value>& info) { |
| + CheckImplicitParameters(info); |
| info.GetReturnValue().Set(12345); |
| } |
| const char* kApiCallbackStringValue = |
| "Hello World! Bizarro C++ world, actually."; |
| void ApiCallbackString(const v8::FunctionCallbackInfo<v8::Value>& info) { |
| + CheckImplicitParameters(info); |
| info.GetReturnValue().Set(v8_str(kApiCallbackStringValue)); |
| } |
| void ApiCallbackParam(const v8::FunctionCallbackInfo<v8::Value>& info) { |
| + CheckImplicitParameters(info); |
| CHECK_EQ(1, info.Length()); |
| CHECK(info[0]->IsNumber()); |
| info.GetReturnValue().Set(info[0]); |