diff options
Diffstat (limited to 'js/src/tests/non262/Tuple/from/iter-map-fn-args.js')
-rw-r--r-- | js/src/tests/non262/Tuple/from/iter-map-fn-args.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/js/src/tests/non262/Tuple/from/iter-map-fn-args.js b/js/src/tests/non262/Tuple/from/iter-map-fn-args.js new file mode 100644 index 0000000000..33c8234d47 --- /dev/null +++ b/js/src/tests/non262/Tuple/from/iter-map-fn-args.js @@ -0,0 +1,44 @@ +// |reftest| skip-if(!this.hasOwnProperty("Tuple")) +var args = []; +var firstResult = { + done: false, + value: {} +}; +var secondResult = { + done: false, + value: {} +}; +var mapFn = function(value, idx) { + args.push(arguments); +}; +var items = {}; +var nextResult = firstResult; +var nextNextResult = secondResult; + +items[Symbol.iterator] = function() { + return { + next: function() { + var result = nextResult; + nextResult = nextNextResult; + nextNextResult = { + done: true + }; + + return result; + } + }; +}; + +Tuple.from(items, mapFn); + +assertEq(args.length, 2); + +assertEq(args[0].length, 2); +assertEq(args[0][0], firstResult.value); +assertEq(args[0][1], 0); + +assertEq(args[1].length, 2); +assertEq(args[1][0], secondResult.value); +assertEq(args[1][1], 1); + +reportCompare(0, 0); |