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();