tor-browser

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

Debugger-debuggees-17.js (886B)


      1 // addDebuggee, hasDebuggee, and removeDebuggee all throw if presented with
      2 // objects that are not valid global object designators.
      3 
      4 load(libdir + 'asserts.js');
      5 
      6 var dbg = new Debugger;
      7 
      8 function check(bad) {
      9  print("check(" + JSON.stringify(bad) + ")");
     10  assertThrowsInstanceOf(function () { dbg.addDebuggee(bad); }, TypeError);
     11  assertEq(dbg.getDebuggees().length, 0);
     12  assertThrowsInstanceOf(function () { dbg.hasDebuggee(bad); }, TypeError);
     13  assertThrowsInstanceOf(function () { dbg.removeDebuggee(bad); }, TypeError);
     14 }
     15 
     16 var g = newGlobal({newCompartment: true});
     17 check(g.Object());
     18 check(g.Object);
     19 check(g.Function(""));
     20 
     21 // A Debugger.Object belonging to a different Debugger is not a valid way
     22 // to designate a global, even if its referent is a global.
     23 var g2 = newGlobal({newCompartment: true});
     24 var dbg2 = new Debugger;
     25 var d2g2 = dbg2.addDebuggee(g2);
     26 check(d2g2);