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