tor-browser

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

Environment-setVariable-11.js (583B)


      1 // setVariable cannot modify the binding for a FunctionExpression's name.
      2 
      3 load(libdir + "asserts.js");
      4 
      5 var g = newGlobal({newCompartment: true});
      6 var dbg = Debugger(g);
      7 var hits = 0;
      8 dbg.onDebuggerStatement = function (frame) {
      9    var env = frame.environment.find("f");
     10    assertEq(env.getVariable("f"), frame.callee);
     11    assertThrowsInstanceOf(function () { env.setVariable("f", 0) }, TypeError);
     12    assertThrowsInstanceOf(function () { env.setVariable("f", frame.callee) }, TypeError);
     13    hits++;
     14 };
     15 g.eval("(function f() { eval(\"\"); debugger; })();");
     16 assertEq(hits, 1);