tor-browser

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

Frame-eval-06.js (600B)


      1 // frame.eval throws if frame is a generator frame that isn't currently on the stack
      2 
      3 load(libdir + "asserts.js");
      4 
      5 var g = newGlobal({newCompartment: true});
      6 g.eval("function* gen(a) { debugger; yield a; }");
      7 g.eval("function test() { debugger; }");
      8 var dbg = new Debugger(g);
      9 var genframe;
     10 var hits = 0;
     11 dbg.onDebuggerStatement = function (frame) {
     12    if (frame.callee.name == 'gen')
     13        genframe = frame;
     14    else
     15        assertThrowsInstanceOf(function () { genframe.eval("a"); }, Error);
     16    hits++;
     17 };
     18 g.eval("var it = gen(42); assertEq(it.next().value, 42); test();");
     19 assertEq(hits, 2);