michael@0: // evalWithBindings ignores non-enumerable and non-own properties. michael@0: var g = newGlobal(); michael@0: var dbg = new Debugger(g); michael@0: var hits = 0; michael@0: dbg.onDebuggerStatement = function (frame) { michael@0: assertEq(frame.evalWithBindings("toString + constructor + length", []).return, 112233); michael@0: var obj = Object.create({constructor: "FAIL"}, {length: {value: "fail"}}); michael@0: assertEq(frame.evalWithBindings("toString + constructor + length", obj).return, 112233); michael@0: hits++; michael@0: }; michael@0: g.eval("function f() { var toString = 111111, constructor = 1111, length = 11; debugger; }"); michael@0: g.f(); michael@0: assertEq(hits, 1);