|
1 // getVariable that would trigger a getter does not crash or explode. |
|
2 // It should throw WouldRunDebuggee, but that isn't implemented yet. |
|
3 |
|
4 load(libdir + "asserts.js"); |
|
5 |
|
6 var g = newGlobal(); |
|
7 var dbg = Debugger(g); |
|
8 var hits = 0; |
|
9 dbg.onDebuggerStatement = function (frame) { |
|
10 assertThrowsInstanceOf(function () { |
|
11 frame.environment.getVariable("x"); |
|
12 }, Error); |
|
13 hits++; |
|
14 }; |
|
15 g.eval("Object.defineProperty(this, 'x', {get: function () { throw new Error('fail'); }});\n" + |
|
16 "debugger;"); |
|
17 assertEq(hits, 1); |