tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Frame-onPop-generators-01.js (600B)


      1 // Returning {throw:} from an onPop handler when yielding works.
      2 // It closes the generator-iterator.
      3 
      4 load(libdir + "asserts.js");
      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        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.executeInGlobal("it.next();");
     17 assertEq(rv.throw, "fit");
     18 
     19 dbg.enabled = false;
     20 assertEq(g.it.next().value, undefined);