summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/collections/Map-values-2.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/collections/Map-values-2.js')
-rw-r--r--js/src/jit-test/tests/collections/Map-values-2.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/collections/Map-values-2.js b/js/src/jit-test/tests/collections/Map-values-2.js
new file mode 100644
index 0000000000..d3bd192e39
--- /dev/null
+++ b/js/src/jit-test/tests/collections/Map-values-2.js
@@ -0,0 +1,18 @@
+// map.keys() and map.values() return iterators over the key or the value,
+// respectively, of each key-value pair in the map.
+
+load(libdir + "iteration.js");
+
+var data = [["one", 1], ["two", 2], ["three", 3], ["four", 4]];
+var m = new Map(data);
+
+var ki = m.keys();
+assertIteratorNext(ki, "one");
+assertIteratorNext(ki, "two");
+assertIteratorNext(ki, "three");
+assertIteratorNext(ki, "four");
+assertIteratorDone(ki, undefined);
+
+assertDeepEq([...m.keys()], ["one", "two", "three", "four"]);
+assertDeepEq([...m.values()], [1, 2, 3, 4]);
+assertDeepEq([...m.entries()], data);