Environment-setVariable-11.js (583B)
1 // setVariable cannot modify the binding for a FunctionExpression's name. 2 3 load(libdir + "asserts.js"); 4 5 var g = newGlobal({newCompartment: true}); 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() { eval(\"\"); debugger; })();"); 16 assertEq(hits, 1);