diff options
Diffstat (limited to 'js/src/tests/non262/Tuple/wrapper.js')
-rw-r--r-- | js/src/tests/non262/Tuple/wrapper.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/tests/non262/Tuple/wrapper.js b/js/src/tests/non262/Tuple/wrapper.js new file mode 100644 index 0000000000..3cb0a42154 --- /dev/null +++ b/js/src/tests/non262/Tuple/wrapper.js @@ -0,0 +1,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); |