| Index: test/cctest/test-debug.cc
|
| ===================================================================
|
| --- test/cctest/test-debug.cc (revision 4699)
|
| +++ test/cctest/test-debug.cc (working copy)
|
| @@ -6196,7 +6196,28 @@
|
| v8::Local<v8::Context> context1 = v8::Debug::GetDebugContext();
|
| v8::Local<v8::Context> context2 = v8::Debug::GetDebugContext();
|
| CHECK_EQ(*context1, *context2);
|
| - // Make sure debugger is unloaded before running other tests.
|
| - v8::internal::ForceUnloadDebugger();
|
| +}
|
| +
|
| +
|
| +static v8::Handle<v8::Value> expected_callback_data;
|
| +static void DebugEventContextChecker(const v8::Debug::EventDetails& details) {
|
| + CHECK(details.GetEventContext() == expected_context);
|
| + CHECK_EQ(expected_callback_data, details.GetCallbackData());
|
| +}
|
| +
|
| +// Check that event details contain context where debug event occured.
|
| +TEST(DebugEventContext) {
|
| + v8::HandleScope scope;
|
| + expected_callback_data = v8::Int32::New(2010);
|
| + v8::Debug::SetDebugEventListener2(DebugEventContextChecker,
|
| + expected_callback_data);
|
| + expected_context = v8::Context::New();
|
| + v8::Context::Scope context_scope(expected_context);
|
| + v8::Script::Compile(v8::String::New("(function(){debugger;})();"))->Run();
|
| + expected_context.Dispose();
|
| + expected_context.Clear();
|
| + v8::Debug::SetDebugEventListener(NULL);
|
| + expected_context_data = v8::Handle<v8::Value>();
|
| CheckDebuggerUnloaded();
|
| }
|
| +
|
|
|