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

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:31986222b4b1
1 // Returning {throw:} from an onPop handler when yielding works and
2 // does not close the generator-iterator.
3
4 load(libdir + "asserts.js");
5
6 var g = newGlobal();
7 var dbg = new Debugger;
8 var gw = dbg.addDebuggee(g);
9 dbg.onDebuggerStatement = function handleDebugger(frame) {
10 frame.onPop = function (c) {
11 return {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 var rv = gw.evalInGlobal("it.next();");
17 assertEq(rv.throw, "fit");
18
19 dbg.enabled = false;
20 assertEq(g.it.next(), 1);

mercurial