Source code

Revision control

Copy as Markdown

Other Tools

// When the debugger is triggered twice from the same stack frame, the same
// Debugger.Frame object is passed to the hook both times.
var g = newGlobal({newCompartment: true});
var hits, frame;
var dbg = Debugger(g);
dbg.onDebuggerStatement = function (f) {
if (hits++ == 0)
frame = f;
else
assertEq(f, frame);
};
hits = 0;
g.evaluate("debugger; debugger;");
assertEq(hits, 2);
hits = 0;
g.evaluate("function f() { debugger; debugger; } f();");
assertEq(hits, 2);
hits = 0;
g.evaluate("eval('debugger; debugger;');");
assertEq(hits, 2);