[debug] Extend a test and fix some typos.

R=jgruber@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2493533003
Cr-Commit-Position: refs/heads/master@{#40966}
This commit is contained in:
neis 2016-11-14 06:05:23 -08:00 committed by Commit bot
parent be9b820c44
commit 4e32419be4
2 changed files with 32 additions and 3 deletions

View File

@ -1912,7 +1912,7 @@ void Debug::CallEventCallback(v8::DebugEvent event,
MaybeHandle<Object> result =
Execution::Call(isolate_, Handle<JSFunction>::cast(event_listener_),
global, arraysize(argv), argv);
CHECK(!result.is_null()); // Listeners may not throw.
CHECK(!result.is_null()); // Listeners must not throw.
}
in_debug_event_listener_ = previous;
}

View File

@ -63,7 +63,7 @@ function RunPauseTest(scope_number, expected_old_result, variable_name,
// Add the debug event listener.
Debug.setListener(listener);
var actual_new_value;
var actual_new_result;
try {
actual_new_result = fun();
} finally {
@ -78,7 +78,7 @@ function RunPauseTest(scope_number, expected_old_result, variable_name,
assertEquals(expected_new_result, actual_new_result);
}
// Accepts a closure 'fun' that returns a variable from it's outer scope.
// Accepts a closure 'fun' that returns a variable from its outer scope.
// The test changes the value of variable via the handle to function and checks
// that the return value changed accordingly.
function RunClosureTest(scope_number, expected_old_result, variable_name,
@ -307,3 +307,32 @@ assertSame(Number, DebugCommandProcessor.resolveValue_(
{handle: Debug.MakeMirror(Number).handle()}));
assertSame(RunClosureTest, DebugCommandProcessor.resolveValue_(
{handle: Debug.MakeMirror(RunClosureTest).handle()}));
// Test script-scope variable.
let abc = 12;
{
let exception;
function listener(event, exec_state) {
try {
if (event == Debug.DebugEvent.Break) {
let scope_count = exec_state.frame().scopeCount();
let script_scope = exec_state.frame().scope(scope_count - 2);
assertTrue(script_scope.isScope());
assertEquals(debug.ScopeType.Script, script_scope.scopeType());
script_scope.setVariableValue('abc', 42);
}
} catch(e) { exception = e }
}
Debug.setListener(listener);
assertEquals(12, abc);
debugger;
assertEquals(42, abc);
if (exception != null) {
assertUnreachable("Exception in listener\n" + exception.stack);
}
}
Debug.setListener(null);