blob: c986accdbbb3598a8dedbf7401a62e05054a5556 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// When there are multiple debuggers, their hooks are called in order.
var g = newGlobal({newCompartment: true});
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 continues, even if one 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, 'abc');
|