|
1 // setVariable cannot modify the binding for a FunctionExpression's name. |
|
2 |
|
3 load(libdir + "asserts.js"); |
|
4 |
|
5 var g = newGlobal(); |
|
6 var dbg = Debugger(g); |
|
7 var hits = 0; |
|
8 dbg.onDebuggerStatement = function (frame) { |
|
9 var env = frame.environment.find("f"); |
|
10 assertEq(env.getVariable("f"), frame.callee); |
|
11 assertThrowsInstanceOf(function () { env.setVariable("f", 0) }, TypeError); |
|
12 assertThrowsInstanceOf(function () { env.setVariable("f", frame.callee) }, TypeError); |
|
13 hits++; |
|
14 }; |
|
15 g.eval("(function f() { debugger; })();"); |
|
16 assertEq(hits, 1); |