tor-browser

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

onEnterFrame-generator-06.js (734B)


      1 // Bug 1561935. Test interaction between debug traps for step mode and
      2 // DebugAfterYield.
      3 
      4 let g = newGlobal({newCompartment: true});
      5 g.eval('function* f() { yield 1; yield 2; }');
      6 let dbg = Debugger(g);
      7 let genObj = null;
      8 let hits = 0;
      9 dbg.onEnterFrame = frame => {
     10    // The first time onEnterFrame fires, there is no generator object, so
     11    // there's nothing to test. The generator object doesn't exist until
     12    // JSOP_GENERATOR is reached, right before the initial yield.
     13    if (genObj === null) {
     14        // Trigger step mode.
     15        frame.onStep = function() {};
     16    } else {
     17        dbg.removeDebuggee(g);
     18        dbg.addDebuggee(g);
     19        hits++;
     20    }
     21 };
     22 genObj = g.f();
     23 for (let x of genObj) {}
     24 assertEq(hits, 3);