js/src/jit-test/tests/debug/Frame-onPop-generators-02.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:f7d34e6ad5a3
1 // Throwing an exception from an onPop handler when yielding terminates the debuggee
2 // but does not close the generator-iterator.
3
4 var g = newGlobal();
5 var dbg = new Debugger;
6 var gw = dbg.addDebuggee(g);
7 dbg.onDebuggerStatement = function handleDebugger(frame) {
8 frame.onPop = function (c) {
9 throw "fit";
10 };
11 };
12 g.eval("function g() { for (var i = 0; i < 10; i++) { debugger; yield i; } }");
13 g.eval("var it = g();");
14 assertEq(gw.evalInGlobal("it.next();"), null);
15
16 dbg.enabled = false;
17 assertEq(g.it.next(), 1);

mercurial