tor-browser

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

noExecute-03.js (611B)


      1 // Tests that invocation functions work outside of Debugger code.
      2 
      3 load(libdir + "asserts.js");
      4 
      5 var g = newGlobal({newCompartment: true});
      6 var dbg = new Debugger();
      7 var gw = dbg.addDebuggee(g);
      8 
      9 g.eval(`
     10       function f() { debugger; return 42; }
     11       function f2() { return 42; }
     12       var o = {
     13         get p() { return 42; },
     14         set p(x) { }
     15       };
     16       `);
     17 
     18 var strs = ["f(f2);", "o.p", "o.p = 42"];
     19 
     20 var f2w;
     21 dbg.onDebuggerStatement = (frame) => {
     22  f2w = frame.arguments[0];
     23 };
     24 
     25 for (var s of strs) {
     26  assertEq(gw.executeInGlobal(s).return, 42);
     27 }
     28 assertEq(f2w.apply(null).return, 42);