Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 // Throwing an exception from an onPop handler when yielding terminates the debuggee
2 // but does not close the generator-iterator.
4 load(libdir + 'iteration.js')
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 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.evalInGlobal("it.next();"), null);
18 dbg.enabled = false;
19 assertIteratorNext(g.it, 1);