| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc | 
|  | 2 index 5624e3f..81936c1 100644 | 
|  | 3 --- a/test/cctest/test-api.cc | 
|  | 4 +++ b/test/cctest/test-api.cc | 
|  | 5 @@ -17049,6 +17049,43 @@ TEST(CaptureStackTraceForUncaughtExceptionAndSetters) { | 
|  | 6  } | 
|  | 7 | 
|  | 8 | 
|  | 9 +static void StackTraceFunctionNameListenerForEval(v8::Local<v8::Message> messag
    e, | 
|  | 10 +                                           v8::Local<Value>) { | 
|  | 11 +  v8::Local<v8::StackTrace> stack_trace = message->GetStackTrace(); | 
|  | 12 +  for (int i = 0; i < stack_trace->GetFrameCount(); i++) { | 
|  | 13 +    v8::Local<v8::StackFrame> frame = stack_trace->GetFrame(i); | 
|  | 14 +    v8::String::Utf8Value func_name(frame->GetFunctionName()); | 
|  | 15 +    v8::String::Utf8Value script_name(frame->GetScriptName()); | 
|  | 16 +    printf("%s:%s, %d,%d\n", *script_name, *func_name, frame->GetLineNumber(), 
    frame->GetColumn()); | 
|  | 17 +  } | 
|  | 18 + | 
|  | 19 + | 
|  | 20 +  CHECK_EQ(5, stack_trace->GetFrameCount()); | 
|  | 21 +  checkStackFrame("origin", "foo:0", 4, 7, false, false, | 
|  | 22 +                  stack_trace->GetFrame(0)); | 
|  | 23 +  checkStackFrame("origin", "foo:1", 5, 27, false, false, | 
|  | 24 +                  stack_trace->GetFrame(1)); | 
|  | 25 +  checkStackFrame("origin", "foo", 5, 27, false, false, | 
|  | 26 +                  stack_trace->GetFrame(2)); | 
|  | 27 +  checkStackFrame("origin", "foo", 5, 27, false, false, | 
|  | 28 +                  stack_trace->GetFrame(3)); | 
|  | 29 +  checkStackFrame("origin", "", 1, 14, false, false, stack_trace->GetFrame(4)); | 
|  | 30 +} | 
|  | 31 + | 
|  | 32 + | 
|  | 33 +TEST(CaptureStackTraceForUncaughtExceptionInEval) { | 
|  | 34 +  LocalContext env; | 
|  | 35 +  v8::Isolate* isolate = env->GetIsolate(); | 
|  | 36 +  v8::HandleScope scope(isolate); | 
|  | 37 +  isolate->SetCaptureStackTraceForUncaughtExceptions(true, 1024, | 
|  | 38 +                                                     v8::StackTrace::kDetailed)
    ; | 
|  | 39 +  isolate->AddMessageListener(StackTraceFunctionNameListenerForEval); | 
|  | 40 + | 
|  | 41 +  CompileRun("eval('throw new Error()');"); | 
|  | 42 +  isolate->SetCaptureStackTraceForUncaughtExceptions(false); | 
|  | 43 +} | 
|  | 44 + | 
|  | 45 + | 
|  | 46  static void StackTraceFunctionNameListener(v8::Local<v8::Message> message, | 
|  | 47                                             v8::Local<Value>) { | 
|  | 48    v8::Local<v8::StackTrace> stack_trace = message->GetStackTrace(); | 
| OLD | NEW | 
|---|