| Index: test/cctest/test-api.cc
|
| diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
|
| index a116e1762de47a8f73986786ad8d20499aba2d30..aa9f772b416d8393e91762e2024c950cf7d0f966 100644
|
| --- a/test/cctest/test-api.cc
|
| +++ b/test/cctest/test-api.cc
|
| @@ -21865,6 +21865,37 @@ TEST(EstimatedContextSize) {
|
| }
|
|
|
|
|
| +static int nb_uncaught_exception_callback_calls = 0;
|
| +
|
| +
|
| +bool NoAbortOnUncaughtException(v8::Isolate* isolate) {
|
| + ++nb_uncaught_exception_callback_calls;
|
| + return false;
|
| +}
|
| +
|
| +
|
| +TEST(AbortOnUncaughtExceptionNoAbort) {
|
| + v8::Isolate* isolate = CcTest::isolate();
|
| + v8::HandleScope handle_scope(isolate);
|
| + v8::Handle<v8::ObjectTemplate> global_template =
|
| + v8::ObjectTemplate::New(isolate);
|
| + LocalContext env(NULL, global_template);
|
| +
|
| + i::FLAG_abort_on_uncaught_exception = true;
|
| + isolate->SetAbortOnUncaughtExceptionCallback(NoAbortOnUncaughtException);
|
| +
|
| + CompileRun("function boom() { throw new Error(\"boom\") }");
|
| +
|
| + v8::Local<v8::Object> global_object = env->Global();
|
| + v8::Local<v8::Function> foo =
|
| + v8::Local<v8::Function>::Cast(global_object->Get(v8_str("boom")));
|
| +
|
| + foo->Call(global_object, 0, NULL);
|
| +
|
| + CHECK_EQ(1, nb_uncaught_exception_callback_calls);
|
| +}
|
| +
|
| +
|
| TEST(AccessCheckedIsConcatSpreadable) {
|
| i::FLAG_harmony_concat_spreadable = true;
|
| v8::Isolate* isolate = CcTest::isolate();
|
|
|