blob: f02e41f23f36f24ec059820536455c1047e2390b [file] [log] [blame]
// An onPop handler in a disabled Debugger's frame shouldn't fire.
var g = newGlobal();
var dbg = new Debugger(g);
g.eval('function f() { debugger; }');
var log;
dbg.onEnterFrame = function handleEnterFrame(f) {
log += '(';
assertEq(f.callee.name, 'f');
f.onPop = function handlePop(c) {
log += ')';
assertEq(dbg.enabled, true);
};
};
var enable;
dbg.onDebuggerStatement = function handleDebugger(f) {
dbg.enabled = enable;
}
// This should fire the onEnterFrame and onPop handlers.
log = 'a';
enable = true;
g.f();
// This should fire the onEnterFrame handler, but not the onPop.
log += 'b';
enable = false;
g.f();
// This should fire neither.
log += 'c';
dbg.enabled = false;
enable = false;
g.f();
// This should fire both again.
log += 'd';
dbg.enabled = true;
enable = true;
g.f();
assertEq(log, 'a()b(cd()');