| // obj.defineProperties can define accessor properties. |
| |
| var g = newGlobal(); |
| var dbg = new Debugger; |
| var gw = dbg.addDebuggee(g); |
| g.value = undefined; |
| g.eval("function gf() { return 12; }\n" + |
| "function sf(v) { value = v; }\n"); |
| var gfw = gw.getOwnPropertyDescriptor("gf").value; |
| var sfw = gw.getOwnPropertyDescriptor("sf").value; |
| gw.defineProperties({x: {configurable: true, get: gfw, set: sfw}}); |
| assertEq(g.x, 12); |
| g.x = 'ok'; |
| assertEq(g.value, 'ok'); |
| |
| var desc = g.Object.getOwnPropertyDescriptor(g, "x"); |
| assertEq(desc.configurable, true); |
| assertEq(desc.enumerable, false); |
| assertEq(desc.get, g.gf); |
| assertEq(desc.set, g.sf); |