michael@0: // env.names() lists nonenumerable names in with-statement environments. michael@0: michael@0: var g = newGlobal(); michael@0: var dbg = Debugger(g); michael@0: var hits = 0; michael@0: g.h = function () { michael@0: var env = dbg.getNewestFrame().environment; michael@0: var names = env.names(); michael@0: assertEq(names.indexOf("a") !== -1, true); michael@0: michael@0: // FIXME: Bug 748592 - proxies don't correctly propagate JSITER_HIDDEN michael@0: //assertEq(names.indexOf("b") !== -1, true); michael@0: //assertEq(names.indexOf("isPrototypeOf") !== -1, true); michael@0: hits++; michael@0: }; michael@0: g.eval("var obj = {a: 1};\n" + michael@0: "Object.defineProperty(obj, 'b', {value: 2});\n" + michael@0: "with (obj) h();"); michael@0: assertEq(hits, 1);