summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Tuple/wrapper.js
blob: 3cb0a42154394941922bb9ab76e5378bdcd50e6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// |reftest| skip-if(!this.hasOwnProperty("Record"))

var boxO = Object(#[1, 2, 3]);

assertEq(Object.isExtensible(boxO), false);
assertEq(Object.isSealed(boxO), true);
assertEq(Object.isFrozen(boxO), true);

boxO[0] = 3;
assertEq(boxO[0], 1);
assertThrowsInstanceOf(() => { "use strict"; boxO[0] = 3; }, TypeError);
assertEq(boxO[0], 1);

boxO[4] = 3;
assertEq(boxO[4], undefined);
assertThrowsInstanceOf(() => { "use strict"; boxO[4] = 3; }, TypeError);
assertEq(boxO[4], undefined);

assertThrowsInstanceOf(() => { Object.defineProperty(boxO, "0", { value: 3 }); }, TypeError);
assertEq(boxO[0], 1);

assertThrowsInstanceOf(() => { Object.defineProperty(boxO, "4", { value: 3 }); }, TypeError);
assertEq(boxO[4], undefined);

if (typeof reportCompare === "function") reportCompare(0, 0);