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