Frame-evalWithBindings-03.js (676B)
1 // arguments works in evalWithBindings (it does not interpose a function scope) 2 var g = newGlobal({newCompartment: true}); 3 var dbg = new Debugger; 4 var global = dbg.addDebuggee(g); 5 var hits = 0; 6 dbg.onDebuggerStatement = function (frame) { 7 var argc = frame.arguments.length; 8 assertEq(argc, 8); 9 assertEq(frame.evalWithBindings("arguments[prop]", {prop: "length"}).return, argc); 10 for (var i = 0; i < argc; i++) 11 assertEq(frame.evalWithBindings("arguments[i]", {i: i}).return, frame.arguments[i]); 12 hits++; 13 }; 14 g.eval("function f() { debugger; }"); 15 g.eval("f(undefined, -0, NaN, '\uffff', Symbol('alpha'), Array.prototype, Math, f);"); 16 assertEq(hits, 1);