tor-browser

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

Frame-this-14.js (618B)


      1 // Test that Debugger.Frame.prototype.this works on a suspended generator
      2 // function.
      3 
      4 load(libdir + "asserts.js");
      5 
      6 const g = newGlobal({ newCompartment: true });
      7 const dbg = new Debugger();
      8 const gDO = dbg.addDebuggee(g);
      9 
     10 g.eval(`
     11 var context = {};
     12 var f = function*() {
     13  return this;
     14 }.bind(context);
     15 `);
     16 
     17 let frame;
     18 dbg.onEnterFrame = f => {
     19  frame = f;
     20  assertEq(frame.this, gDO.makeDebuggeeValue(g.context));
     21  dbg.onEnterFrame = undefined;
     22 };
     23 
     24 const it = g.f();
     25 
     26 assertEq(!!frame, true);
     27 assertEq(frame.this, gDO.makeDebuggeeValue(g.context));
     28 
     29 it.next();
     30 
     31 assertThrowsInstanceOf(() => frame.this, Error);