michael@0: // obj.defineProperty throws if a value, getter, or setter is in a different compartment than obj michael@0: michael@0: load(libdir + "asserts.js"); michael@0: var g1 = newGlobal(); michael@0: var g2 = newGlobal(); michael@0: var dbg = new Debugger; michael@0: var g1w = dbg.addDebuggee(g1); michael@0: var g2w = dbg.addDebuggee(g2); michael@0: assertThrowsInstanceOf(function () { g1w.defineProperty('x', {value: g2w}); }, TypeError); michael@0: assertThrowsInstanceOf(function () { g1w.defineProperty('x', {get: g1w, set: g2w}); }, TypeError);