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 000000000..e40079e2b
--- /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);
+
+assertEq([...m.keys()].toSource(), ["one", "two", "three", "four"].toSource());
+assertEq([...m.values()].toSource(), [1, 2, 3, 4].toSource());
+assertEq([...m.entries()].toSource(), data.toSource());