tor-browser

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

onNewScript-01.js (831B)


      1 // Basic newScript hook tests.
      2 
      3 var g = newGlobal({newCompartment: true});
      4 var dbg = Debugger(g);
      5 var seen = new WeakMap();
      6 var hits = 0;
      7 dbg.onNewScript = function (s) {
      8    // Exceptions thrown from onNewScript are swept under the rug, but they
      9    // will at least prevent hits from being the expected number.
     10    assertEq(s instanceof Debugger.Script, true);
     11    assertEq(!seen.has(s), true);
     12    seen.set(s, true);
     13    hits++;
     14 };
     15 
     16 dbg.uncaughtExceptionHook = function () { hits = -999; };
     17 
     18 // eval code
     19 hits = 0;
     20 assertEq(g.eval("2 + 2"), 4);
     21 assertEq(hits, 1);
     22 
     23 hits = 0;
     24 assertEq(g.eval("eval('2 + 3')"), 5);
     25 assertEq(hits, 2);
     26 
     27 // global code
     28 hits = 0;
     29 g.evaluate("3 + 4");
     30 assertEq(hits, 1);
     31 
     32 // function code
     33 hits = 0;
     34 var fn = g.Function("a", "return 5 + a;");
     35 assertEq(hits, 1);
     36 assertEq(fn(8), 13);
     37 assertEq(hits, 1);