// The arguments can escape from a function via a debugging hook. | |
var g = newGlobal(); | |
var dbg = new Debugger(g); | |
// capture arguments object and test function | |
dbg.onDebuggerStatement = function (frame) { | |
var args = frame.older.environment.parent.getVariable('arguments'); | |
assertEq(args.missingArguments, true); | |
}; | |
g.eval("function h() { debugger; }"); | |
g.eval("function f() { var x = 0; return function() { x++; h() } }"); | |
g.eval("f('ponies')()"); |