Frame-onPop-generators-02.js (587B)
1 // |jit-test| error: fit 2 3 // Throwing an exception from an onPop handler when yielding terminates the debuggee 4 // but does not close the generator-iterator. 5 6 var g = newGlobal({newCompartment: true}); 7 var dbg = new Debugger; 8 var gw = dbg.addDebuggee(g); 9 dbg.onDebuggerStatement = function handleDebugger(frame) { 10 frame.onPop = function (c) { 11 throw "fit"; 12 }; 13 }; 14 g.eval("function* g() { for (var i = 0; i < 10; i++) { debugger; yield i; } }"); 15 g.eval("var it = g();"); 16 assertEq(gw.executeInGlobal("it.next();"), null); 17 18 dbg.enabled = false; 19 assertEq(g.it.next().value, 1);