tor-browser

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

Environment-find-03.js (585B)


      1 // env.find() finds nonenumerable properties in with statements.
      2 
      3 var g = newGlobal({newCompartment: true});
      4 var dbg = Debugger(g);
      5 var hits = 0;
      6 g.h = function () {
      7    var frame = dbg.getNewestFrame();
      8    var target = frame.eval("obj").return;
      9    var env = frame.environment.find("PI");
     10    assertEq(env.object, target);
     11    hits++;
     12 };
     13 
     14 g.obj = g.Math;
     15 g.eval("with (obj) h();");
     16 g.eval("with (Math) { let x = 12; h(); }");
     17 g.eval("obj = {};\n" +
     18       "Object.defineProperty(obj, 'PI', {enumerable: false, value: 'Marlowe'});\n" +
     19       "with (obj) h();\n");
     20 assertEq(hits, 3);