michael@0: // {has,add,remove}Debuggee throw a TypeError if the argument is invalid. michael@0: michael@0: load(libdir + "asserts.js"); michael@0: michael@0: var dbg = new Debugger; michael@0: michael@0: function check(val) { michael@0: assertThrowsInstanceOf(function () { dbg.hasDebuggee(val); }, TypeError); michael@0: assertThrowsInstanceOf(function () { dbg.addDebuggee(val); }, TypeError); michael@0: assertThrowsInstanceOf(function () { dbg.removeDebuggee(val); }, TypeError); michael@0: } michael@0: michael@0: // Primitive values are invalid. michael@0: check(undefined); michael@0: check(null); michael@0: check(false); michael@0: check(1); michael@0: check(NaN); michael@0: check("ok"); michael@0: michael@0: // A Debugger.Object that belongs to a different Debugger object is invalid. michael@0: var g = newGlobal(); michael@0: var dbg2 = new Debugger; michael@0: var w = dbg2.addDebuggee(g); michael@0: assertEq(w instanceof Debugger.Object, true); michael@0: check(w);