Object-defineProperty-05.js (653B)
1 // defineProperty can define accessor properties. 2 3 var g = newGlobal({newCompartment: true}); 4 var dbg = new Debugger; 5 var gw = dbg.addDebuggee(g); 6 g.value = undefined; 7 g.eval("function gf() { return 12; }\n" + 8 "function sf(v) { value = v; }\n"); 9 var gfw = gw.getOwnPropertyDescriptor("gf").value; 10 var sfw = gw.getOwnPropertyDescriptor("sf").value; 11 gw.defineProperty("x", {configurable: true, get: gfw, set: sfw}); 12 assertEq(g.x, 12); 13 g.x = 'ok'; 14 assertEq(g.value, 'ok'); 15 16 var desc = g.Object.getOwnPropertyDescriptor(g, "x"); 17 assertEq(desc.configurable, true); 18 assertEq(desc.enumerable, false); 19 assertEq(desc.get, g.gf); 20 assertEq(desc.set, g.sf);