summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Object-defineProperty-03.js
blob: 04a2aa817429da5fa402f79f61b1f051ec74426e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 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);