diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/lib/iteration.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/jit-test/lib/iteration.js b/js/src/jit-test/lib/iteration.js new file mode 100644 index 0000000000..b679014f7d --- /dev/null +++ b/js/src/jit-test/lib/iteration.js @@ -0,0 +1,30 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +load(libdir + "asserts.js"); + +if (typeof assertIteratorResult === 'undefined') { + var assertIteratorResult = function assertIteratorResult(result, value, done) { + assertEq(typeof result, "object"); + var expectedProps = ['done', 'value']; + var actualProps = Object.getOwnPropertyNames(result); + actualProps.sort(), expectedProps.sort(); + assertDeepEq(actualProps, expectedProps); + assertDeepEq(result.value, value); + assertDeepEq(result.done, done); + } +} + +if (typeof assertIteratorNext === 'undefined') { + var assertIteratorNext = function assertIteratorNext(iter, value) { + assertIteratorResult(iter.next(), value, false); + } +} + +if (typeof assertIteratorDone === 'undefined') { + var assertIteratorDone = function assertIteratorDone(iter, value) { + assertIteratorResult(iter.next(), value, true); + } +} |