tor-browser

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

Frame-evalWithBindings-07.js (560B)


      1 // var statements in strict evalWithBindings code behave like strict eval.
      2 var g = newGlobal({newCompartment: true});
      3 var dbg = new Debugger(g);
      4 var hits = 0;
      5 dbg.onDebuggerStatement = function (frame) {
      6    assertEq(frame.evalWithBindings("var i = a*a + b*b; i === 25;", {a: 3, b: 4}).return, true);
      7    hits++;
      8 };
      9 g.eval("'use strict'; debugger;");
     10 assertEq(hits, 1);
     11 assertEq("i" in g, false);
     12 
     13 g.eval("function die() { throw fit; }");
     14 g.eval("Object.defineProperty(this, 'i', {get: die, set: die});");
     15 g.eval("'use strict'; debugger;");
     16 assertEq(hits, 2);