blob: cd29fc6deb25bf53348d0b286f2dabb2d8809883 [file] [log] [blame]
// When there are multiple debuggers, their hooks are called in order.
var g = newGlobal();
var log;
var arr = [];
function addDebug(msg) {
var dbg = new Debugger(g);
dbg.onDebuggerStatement = function (stack) { log += msg; };
arr.push(dbg);
}
addDebug('a');
addDebug('b');
addDebug('c');
log = '';
assertEq(g.eval("debugger; 0;"), 0);
assertEq(log, 'abc');
// Calling debugger hooks stops as soon as any hook returns a resumption value
// other than undefined.
arr[0].onDebuggerStatement = function (stack) {
log += 'a';
return {return: 1};
};
log = '';
assertEq(g.eval("debugger; 0;"), 1);
assertEq(log, 'a');