tor-browser

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

Environment-setVariable-15.js (752B)


      1 // Debugger.Environment should throw trying to setVariable on a const binding.
      2 
      3 load(libdir + "asserts.js");
      4 
      5 var g = newGlobal({newCompartment: true});
      6 var dbg = new Debugger;
      7 dbg.addDebuggee(g);
      8 
      9 dbg.onEnterFrame = (frame) => {
     10  frame.onStep = () => {
     11    if (frame.environment.getVariable("x") === 42) {
     12      assertThrowsInstanceOf(() => frame.environment.setVariable("x", 43), TypeError);
     13      assertEq(frame.environment.getVariable("x"), 42);
     14    }
     15  };
     16 };
     17 
     18 const unaliased = g.parseModule(`
     19  const x = 42;
     20  assertEq(x, 42);
     21 `);
     22 moduleLink(unaliased);
     23 moduleEvaluate(unaliased);
     24 
     25 const aliased = g.parseModule(`
     26  const x = 42;
     27  assertEq(x, 42);
     28 
     29  function closedOver() {
     30    return x;
     31  }
     32 `);
     33 moduleLink(aliased);
     34 moduleEvaluate(aliased);