Debugger-dead-global.js (853B)
1 var g1 = newGlobal({newCompartment: true}); 2 3 const dbg = new Debugger(); 4 5 function assertThrowsDeadWrapper(f) { 6 let caught = false; 7 try { 8 f(); 9 } catch (e) { 10 assertEq(e.message, "can't access dead object"); 11 caught = true; 12 } 13 assertEq(caught, true); 14 } 15 16 nukeAllCCWs(); 17 18 // Debugger methods should throw explicit error for dead global object. 19 assertThrowsDeadWrapper(() => dbg.addDebuggee(g1)); 20 assertThrowsDeadWrapper(() => dbg.removeDebuggee(g1)); 21 assertThrowsDeadWrapper(() => dbg.findScripts({global: g1})); 22 assertThrowsDeadWrapper(() => dbg.makeGlobalObjectReference(g1)); 23 assertThrowsDeadWrapper(() => dbg.enableAsyncStack(g1)); 24 assertThrowsDeadWrapper(() => dbg.disableAsyncStack(g1)); 25 assertThrowsDeadWrapper(() => dbg.enableUnlimitedStacksCapturing(g1)); 26 assertThrowsDeadWrapper(() => dbg.disableUnlimitedStacksCapturing(g1));