Debugger-adoptDebuggeeValue.js (854B)
1 // simplest possible test of Debugger.adoptDebuggeeValue 2 3 load(libdir + "asserts.js"); 4 5 var g = newGlobal({newCompartment: true}); 6 7 var dbg1 = new Debugger(); 8 var gDO1 = dbg1.addDebuggee(g); 9 var obj1 = gDO1.executeInGlobal("({})").return; 10 11 var dbg2 = Debugger(g); 12 var gDO2 = dbg2.addDebuggee(g); 13 var obj2 = gDO2.executeInGlobal("({})").return; 14 15 assertThrowsInstanceOf(function () { 16 obj1.defineProperty("foo", { 17 configurable: true, 18 enumerable: true, 19 value: obj2, 20 writable: true 21 }); 22 }, Error); 23 24 let obj3 = dbg1.adoptDebuggeeValue(obj2); 25 26 obj1.defineProperty("foo", { 27 configurable: true, 28 enumerable: true, 29 value: obj3, 30 writable: true 31 }); 32 33 assertThrowsInstanceOf(function () { 34 dbg1.adoptDebuggeeValue({}); 35 }, TypeError); 36 37 assertThrowsInstanceOf(function () { 38 dbg1.adoptDebuggeeValue(Debugger.Object.prototype); 39 }, TypeError);