Source code
Revision control
Copy as Markdown
Other Tools
// defineProperty can set array elements
var g = newGlobal({newCompartment: true});
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);