// Setting an onPop handler from an onPop handler doesn't throw, but the // new handler doesn't fire. var g = newGlobal(); var dbg = new Debugger(g); var log; dbg.onDebuggerStatement = function handleDebugger(frame) { log += 'd'; assertEq(frame.type, "eval"); frame.onPop = function firstHandlePop(c) { log +=')'; assertEq(c.return, 'on investment'); this.onPop = function secondHandlePop(c) { assertEq("secondHandlePop was called", "secondHandlePop should never be called"); }; }; }; log = ""; g.eval("debugger; 'on investment';"); assertEq(log, 'd)');