michael@0: // obj.getOwnPropertyDescriptor presents getters and setters as Debugger.Object objects. michael@0: michael@0: var g = newGlobal(); michael@0: g.S = function foreignFunction(v) {}; michael@0: g.eval("var a = {};\n" + michael@0: "function G() {}\n" + michael@0: "Object.defineProperty(a, 'p', {get: G, set: S})"); michael@0: michael@0: var dbg = new Debugger; michael@0: var gdo = dbg.addDebuggee(g); michael@0: var desc = gdo.getOwnPropertyDescriptor("a").value.getOwnPropertyDescriptor("p"); michael@0: assertEq(desc.enumerable, false); michael@0: assertEq(desc.configurable, false); michael@0: assertEq("value" in desc, false); michael@0: assertEq("writable" in desc, false); michael@0: assertEq(desc.get, gdo.getOwnPropertyDescriptor("G").value); michael@0: assertEq(desc.set, gdo.getOwnPropertyDescriptor("S").value);