michael@0: // set.keys() and set.values() return iterators over the elements michael@0: // and set.entries() returns an iterator that yields pairs [e, e]. michael@0: michael@0: load(libdir + "iteration.js"); michael@0: michael@0: var data = [1, 2, 3, 4]; michael@0: var s = Set(data); michael@0: michael@0: var ki = s.keys(); michael@0: assertIteratorNext(ki, 1); michael@0: assertIteratorNext(ki, 2); michael@0: assertIteratorNext(ki, 3); michael@0: assertIteratorNext(ki, 4); michael@0: assertIteratorDone(ki, undefined); michael@0: michael@0: assertEq([...s.keys()].toSource(), data.toSource()); michael@0: assertEq([...s.values()].toSource(), data.toSource()); michael@0: assertEq([...s.entries()].toSource(), [[1, 1], [2, 2], [3, 3], [4, 4]].toSource());