|
1 // map.keys() and map.values() return iterators over the key or the value, |
|
2 // respectively, of each key-value pair in the map. |
|
3 |
|
4 load(libdir + "iteration.js"); |
|
5 |
|
6 var data = [["one", 1], ["two", 2], ["three", 3], ["four", 4]]; |
|
7 var m = Map(data); |
|
8 |
|
9 var ki = m.keys(); |
|
10 assertIteratorNext(ki, "one"); |
|
11 assertIteratorNext(ki, "two"); |
|
12 assertIteratorNext(ki, "three"); |
|
13 assertIteratorNext(ki, "four"); |
|
14 assertIteratorDone(ki, undefined); |
|
15 |
|
16 assertEq([k for (k of m.keys())].toSource(), ["one", "two", "three", "four"].toSource()); |
|
17 assertEq([k for (k of m.values())].toSource(), [1, 2, 3, 4].toSource()); |
|
18 assertEq([k for (k of m.entries())].toSource(), data.toSource()); |