summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Array/with.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/Array/with.js')
-rw-r--r--js/src/tests/non262/Array/with.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/js/src/tests/non262/Array/with.js b/js/src/tests/non262/Array/with.js
new file mode 100644
index 0000000000..a50fba74c0
--- /dev/null
+++ b/js/src/tests/non262/Array/with.js
@@ -0,0 +1,17 @@
+// |reftest| shell-option(--enable-change-array-by-copy) skip-if(!Array.prototype.with)
+
+Object.defineProperty(Array.prototype, 0, {
+ set() {
+ throw "bad";
+ },
+});
+
+// Single element case.
+assertDeepEq([0].with(0, 1), [1]);
+
+// More than one element.
+assertDeepEq([1, 2].with(0, 3), [3, 2]);
+assertDeepEq([1, 2].with(1, 3), [1, 3]);
+
+if (typeof reportCompare === "function")
+ reportCompare(0, 0);