|
1 // |jit-test| debug |
|
2 // Test creating a Debugger in a sandbox, debugging the initial global. |
|
3 // |
|
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. |
|
6 |
|
7 load(libdir + 'asserts.js'); |
|
8 |
|
9 var g = newGlobal(); |
|
10 g.debuggeeGlobal = this; |
|
11 g.eval("var dbg = new Debugger(debuggeeGlobal);"); |
|
12 assertEq(g.eval("dbg instanceof Debugger"), true); |
|
13 |
|
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. |
|
16 g.parent = this; |
|
17 assertThrowsInstanceOf(function () { g.eval("parent.Debugger(parent.Object())"); }, TypeError); |