| Index: test/cctest/test-debug.cc
|
| ===================================================================
|
| --- test/cctest/test-debug.cc (revision 3464)
|
| +++ test/cctest/test-debug.cc (working copy)
|
| @@ -3141,7 +3141,40 @@
|
| CheckDebuggerUnloaded();
|
| }
|
|
|
| +static const char* kSimpleExtensionSource =
|
| + "(function Foo() {"
|
| + " return 4;"
|
| + "})() ";
|
|
|
| +// http://crbug.com/28933
|
| +// Test that debug break is disabled when bootstrapper is active.
|
| +TEST(NoBreakWhenBootstrapping) {
|
| + v8::HandleScope scope;
|
| +
|
| + // Register a debug event listener which sets the break flag and counts.
|
| + v8::Debug::SetDebugEventListener(DebugEventCounter);
|
| +
|
| + // Set the debug break flag.
|
| + v8::Debug::DebugBreak();
|
| + break_point_hit_count = 0;
|
| + {
|
| + // Create a context with an extension to make sure that some JavaScript
|
| + // code is executed during bootstrapping.
|
| + v8::RegisterExtension(new v8::Extension("simpletest",
|
| + kSimpleExtensionSource));
|
| + const char* extension_names[] = { "simpletest" };
|
| + v8::ExtensionConfiguration extensions(1, extension_names);
|
| + v8::Persistent<v8::Context> context = v8::Context::New(&extensions);
|
| + context.Dispose();
|
| + }
|
| + // Check that no DebugBreak events occured during the context creation.
|
| + CHECK_EQ(0, break_point_hit_count);
|
| +
|
| + // Get rid of the debug event listener.
|
| + v8::Debug::SetDebugEventListener(NULL);
|
| + CheckDebuggerUnloaded();
|
| +}
|
| +
|
| static v8::Handle<v8::Array> NamedEnum(const v8::AccessorInfo&) {
|
| v8::Handle<v8::Array> result = v8::Array::New(3);
|
| result->Set(v8::Integer::New(0), v8::String::New("a"));
|
|
|