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