michael@0: // Throwing an exception from an onPop handler when yielding terminates the debuggee michael@0: // but does not close the generator-iterator. michael@0: michael@0: var g = newGlobal(); michael@0: var dbg = new Debugger; michael@0: var gw = dbg.addDebuggee(g); michael@0: dbg.onDebuggerStatement = function handleDebugger(frame) { michael@0: frame.onPop = function (c) { michael@0: throw "fit"; michael@0: }; michael@0: }; michael@0: g.eval("function g() { for (var i = 0; i < 10; i++) { debugger; yield i; } }"); michael@0: g.eval("var it = g();"); michael@0: assertEq(gw.evalInGlobal("it.next();"), null); michael@0: michael@0: dbg.enabled = false; michael@0: assertEq(g.it.next(), 1);