tor-browser

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

Debugger-debuggees-30.js (1135B)


      1 // Debugger and debuggees must be in different compartments.
      2 
      3 load(libdir + "asserts.js");
      4 
      5 function testConstructor() {
      6    var g = newGlobal({sameCompartmentAs: this});
      7    assertTypeErrorMessage(() => new Debugger(g),
      8                           "Debugger: argument must be an object from a different compartment");
      9 }
     10 testConstructor();
     11 
     12 function testAddDebuggee() {
     13    var g = newGlobal({sameCompartmentAs: this});
     14    var dbg = new Debugger();
     15    assertTypeErrorMessage(() => dbg.addDebuggee(this),
     16                           "debugger and debuggee must be in different compartments");
     17 }
     18 testAddDebuggee();
     19 
     20 function testAddAllGlobalsAsDebuggees() {
     21    var g1 = newGlobal({sameCompartmentAs: this});
     22    var g2 = newGlobal({newCompartment: true});
     23    var g3 = newGlobal({sameCompartmentAs: g2});
     24    var g4 = newGlobal({newCompartment: true, sameZoneAs: this});
     25    var dbg = new Debugger();
     26    dbg.addAllGlobalsAsDebuggees();
     27    assertEq(dbg.hasDebuggee(g1), false);
     28    assertEq(dbg.hasDebuggee(g2), true);
     29    assertEq(dbg.hasDebuggee(g3), true);
     30    assertEq(dbg.hasDebuggee(g4), true);
     31 }
     32 testAddAllGlobalsAsDebuggees();