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