| // defineProperty can set array elements |
| |
| var g = newGlobal(); |
| g.a = g.Array(0, 1, 2); |
| var dbg = new Debugger; |
| var gw = dbg.addDebuggee(g); |
| var aw = gw.getOwnPropertyDescriptor("a").value; |
| |
| aw.defineProperty(0, {value: 'ok0'}); // by number |
| assertEq(g.a[0], 'ok0'); |
| var desc = g.Object.getOwnPropertyDescriptor(g.a, "0"); |
| assertEq(desc.configurable, true); |
| assertEq(desc.enumerable, true); |
| assertEq(desc.writable, true); |
| |
| aw.defineProperty("1", {value: 'ok1'}); // by string |
| assertEq(g.a[1], 'ok1'); |
| desc = g.Object.getOwnPropertyDescriptor(g.a, "1"); |
| assertEq(desc.configurable, true); |
| assertEq(desc.enumerable, true); |
| assertEq(desc.writable, true); |