// Globals marked as invisibleToDebugger behave appropriately. load(libdir + "asserts.js"); var dbg = new Debugger; var log = ''; dbg.onNewGlobalObject = function (global) { log += 'n'; } assertEq(typeof newGlobal(), "object"); assertEq(typeof newGlobal({invisibleToDebugger: false}), "object"); assertEq(log, 'nn'); log = ''; assertEq(typeof newGlobal({invisibleToDebugger: true}), "object"); assertEq(log, ''); assertThrowsInstanceOf(() => dbg.addDebuggee(newGlobal({invisibleToDebugger: true})), Error); var glob = newGlobal({invisibleToDebugger: true}); dbg.addAllGlobalsAsDebuggees(); dbg.onDebuggerStatement = function (frame) { assertEq(true, false); }; glob.eval('debugger');