summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Tuple/wrapper.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/Tuple/wrapper.js')
-rw-r--r--js/src/tests/non262/Tuple/wrapper.js25
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);