tor-browser

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

Environment-setVariable-14.js (661B)


      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 g.eval("" + function unaliased() {
     10  const x = 42;
     11  assertEq(x, 42);
     12 });
     13 
     14 g.eval("" + function aliased() {
     15  const x = 42;
     16  assertEq(x, 42);
     17  return () => x;
     18 });
     19 
     20 dbg.onEnterFrame = (frame) => {
     21  frame.onStep = () => {
     22    if (frame.environment.getVariable("x") === 42) {
     23      assertThrowsInstanceOf(() => frame.environment.setVariable("x", 43), TypeError);
     24      assertEq(frame.environment.getVariable("x"), 42);
     25    }
     26  };
     27 };
     28 
     29 g.unaliased();
     30 
     31 g.aliased();