blob: 9c3f7cd54a390f45d3fe298be7a079863020059c (
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
32
33
34
35
|
// null resumption value means terminate the debuggee
var g = newGlobal({newCompartment: true});
g.debuggeeGlobal = this;
g.eval("(" + function () {
var dbg = new Debugger(debuggeeGlobal);
dbg.onDebuggerStatement = function (frame) {
if (frame.callee === null) {
// The first debugger statement below.
debuggeeGlobal.log += "1";
var cv = frame.eval("f();");
assertEq(cv, null);
debuggeeGlobal.log += "2";
} else {
// The second debugger statement.
debuggeeGlobal.log += "3";
assertEq(frame.callee.name, "f");
return null;
}
};
} + ")()");
var log = "";
debugger;
function f() {
log += "4";
try {
debugger; // the debugger terminates us here
} finally {
log += "5"; // this should not execute
}
}
assertEq(log, "1432");
|