tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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);