diff options
Diffstat (limited to 'js/src/tests/non262/Set/shell.js')
-rw-r--r-- | js/src/tests/non262/Set/shell.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/js/src/tests/non262/Set/shell.js b/js/src/tests/non262/Set/shell.js new file mode 100644 index 0000000000..8c61eee059 --- /dev/null +++ b/js/src/tests/non262/Set/shell.js @@ -0,0 +1,45 @@ +function makeArrayIterator(array) { + let i = 0; + return { + [Symbol.iterator]() { + return { + next() { + if (i >= array.length) { + return { done: true }; + } else { + return { value: array[i++] }; + } + } + }; + } + } +} + +function makeArrayIteratorWithHasMethod(array) { + let i = 0; + return { + has(item) { + return array.includes(item); + }, + [Symbol.iterator]() { + return { + next() { + if (i >= array.length) { + return { done: true }; + } else { + return { value: array[i++] }; + } + } + }; + } + }; +} + +function assertSetContainsExactOrderedItems(actual, expected) { + assertEq(actual.size, expected.length); + let index = 0; + for (const item of actual) { + assertEq(item, expected[index]); + index++; + } +} |