summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/collections/Map-get.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /js/src/jit-test/tests/collections/Map-get.js
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/jit-test/tests/collections/Map-get.js')
-rw-r--r--js/src/jit-test/tests/collections/Map-get.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/collections/Map-get.js b/js/src/jit-test/tests/collections/Map-get.js
new file mode 100644
index 0000000000..62bfbcabe3
--- /dev/null
+++ b/js/src/jit-test/tests/collections/Map-get.js
@@ -0,0 +1,41 @@
+// Map.prototype.get and .has basically work
+var m = new Map;
+
+function rope() {
+ var s = "s";
+ for (var i = 0; i < 16; i++)
+ s += s;
+ return s;
+}
+
+var keys = [undefined, null, true, false,
+ 0, 1, 65535, 65536, 2147483647, 2147483648, 4294967295, 4294967296,
+ -1, -65536, -2147483648,
+ 0.5, Math.sqrt(81), Math.PI,
+ Number.MAX_VALUE, -Number.MAX_VALUE, Number.MIN_VALUE, -Number.MIN_VALUE,
+ NaN, Infinity, -Infinity,
+ "", "\0", "a", "ab", "abcdefg", rope(),
+ {}, [], /a*b/, Object.prototype, Object];
+
+for (var i = 0; i < keys.length; i++) {
+ // without being set
+ var key = keys[i];
+ assertEq(m.has(key), false);
+ assertEq(m.get(key), undefined);
+
+ // after being set
+ var v = {};
+ assertEq(m.set(key, v), m);
+ assertEq(m.has(key), true);
+ assertEq(m.get(key), v);
+
+ // after being deleted
+ assertEq(m.delete(key), true);
+ assertEq(m.has(key), false);
+ assertEq(m.get(key), undefined);
+
+ m.set(key, v);
+}
+
+for (var i = 0; i < keys.length; i++)
+ assertEq(m.has(keys[i]), true);