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;"); |