2
// Test creating a Debugger in a sandbox, debugging the initial global.
4
// This requires debug mode to already be on in the initial global, since it's
5
// always on the stack in the shell. Hence the |jit-test| tag.
7
load(libdir + 'asserts.js');
9
var g = newGlobal('new-compartment');
10
g.debuggeeGlobal = this;
11
g.eval("var dbg = new Debugger(debuggeeGlobal);");
12
assertEq(g.eval("dbg instanceof Debugger"), true);
14
// The Debugger constructor from this compartment will not accept as its argument
15
// an Object from this compartment. Shenanigans won't fool the membrane.
17
assertThrowsInstanceOf(function () { g.eval("parent.Debugger(parent.Object())"); }, TypeError);