tor-browser

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

Frame-this-01.js (703B)


      1 // Frame.prototype.this in strict-mode functions, with primitive values
      2 
      3 var g = newGlobal({newCompartment: true});
      4 var dbg = new Debugger(g);
      5 var hits = 0;
      6 dbg.onDebuggerStatement = function (frame) {
      7    hits++;
      8    assertEq(frame.this, g.v);
      9 };
     10 
     11 g.eval("function f() { 'use strict'; debugger; }");
     12 
     13 g.eval("Boolean.prototype.f = f; v = true; v.f();");
     14 g.eval("f.call(v);");
     15 g.eval("Number.prototype.f = f; v = 3.14; v.f();");
     16 g.eval("f.call(v);");
     17 g.eval("String.prototype.f = f; v = 'hello'; v.f();");
     18 g.eval("f.call(v);");
     19 g.eval("Symbol.prototype.f = f; v = Symbol('world'); v.f();");
     20 g.eval("f.call(v);");
     21 g.eval("v = undefined; f.call(v);");
     22 g.eval("v = null; f.call(v);");
     23 
     24 assertEq(hits, 10);