| Index: test/cctest/test-accessors.cc
|
| diff --git a/test/cctest/test-accessors.cc b/test/cctest/test-accessors.cc
|
| index cbbdc507cc79f4b7646916c9fbcbb954c523e5e8..a3ce5c37ec8f10feb0d62d7b57e7b905d9f6b376 100644
|
| --- a/test/cctest/test-accessors.cc
|
| +++ b/test/cctest/test-accessors.cc
|
| @@ -580,14 +580,27 @@ THREADED_TEST(JSONStringifyNamedInterceptorObject) {
|
| }
|
|
|
|
|
| +static v8::Local<v8::Context> expected_current_context;
|
| +static v8::Local<v8::Context> expected_calling_context;
|
| +
|
| +
|
| +static void check_contexts(const v8::FunctionCallbackInfo<v8::Value>& info) {
|
| + ApiTestFuzzer::Fuzz();
|
| + CHECK(expected_current_context == info.GetIsolate()->GetCurrentContext());
|
| + CHECK(expected_calling_context == info.GetIsolate()->GetCallingContext());
|
| +}
|
| +
|
| +
|
| THREADED_TEST(AccessorPropertyCrossContext) {
|
| LocalContext env;
|
| v8::Isolate* isolate = env->GetIsolate();
|
| v8::HandleScope scope(isolate);
|
| - v8::Handle<v8::Function> fun = v8::Function::New(isolate, handle_property);
|
| + v8::Handle<v8::Function> fun = v8::Function::New(isolate, check_contexts);
|
| LocalContext switch_context;
|
| switch_context->Global()->Set(v8_str("fun"), fun);
|
| v8::TryCatch try_catch;
|
| + expected_current_context = env.local();
|
| + expected_calling_context = switch_context.local();
|
| CompileRun(
|
| "var o = Object.create(null, { n: { get:fun } });"
|
| "for (var i = 0; i < 10; i++) o.n;");
|
|
|