// Return resumption values to non-debuggee frames. load(libdir + 'asserts.js'); var g = newGlobal(); var dbg = new Debugger; var log; function handlerWithResumption(resumption) { return function (frame) { log += 'd'; dbg.removeDebuggee(g); return resumption; }; } log = ''; dbg.onDebuggerStatement = handlerWithResumption(undefined); dbg.addDebuggee(g); assertEq(g.eval('debugger; 42;'), 42); assertEq(log, 'd'); log = ''; dbg.onDebuggerStatement = handlerWithResumption({ return: 1729 }); dbg.addDebuggee(g); assertEq(g.eval('debugger; 42;'), 1729); assertEq(log, 'd'); log = ''; dbg.onDebuggerStatement = handlerWithResumption(null); dbg.addDebuggee(g); assertEq(g.evaluate('debugger; 42;', { catchTermination: true }), 'terminated'); assertEq(log, 'd');