summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/collections/Set-clear-5.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/collections/Set-clear-5.js')
-rw-r--r--js/src/jit-test/tests/collections/Set-clear-5.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/collections/Set-clear-5.js b/js/src/jit-test/tests/collections/Set-clear-5.js
new file mode 100644
index 0000000000..48c5bf8688
--- /dev/null
+++ b/js/src/jit-test/tests/collections/Set-clear-5.js
@@ -0,0 +1,14 @@
+// Set.clear is unaffected by deleting/monkeypatching Set.prototype.{delete,iterator}.
+
+var data = ["a", 1, {}];
+var s1 = new Set(data), s2 = new Set(data);
+
+delete Set.prototype.delete;
+delete Set.prototype.iterator;
+s1.clear();
+assertEq(s1.size, 0);
+
+Set.prototype.delete = function () { throw "FAIL"; };
+Set.prototype.iterator = function () { throw "FAIL"; };
+s2.clear();
+assertEq(s2.size, 0);