// Copyright (C) 2026 Test262 Contributors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- esid: sec-iterator.zip description: > Each call to next() returns a fresh array, not the same object reused. info: | IteratorZip ( iters, mode, padding, finishResults ) ... 3. Let closure be a new Abstract Closure with no parameters that captures iters, iterCount, openIters, mode, padding, and finishResults, and performs the following steps when called: ... b. Repeat, ... iv. Let results be finishResults(results). v. Let completion be Completion(Yield(results)). ... Iterator.zip ( iterables [ , options ] ) ... 15. Let finishResults be a new Abstract Closure with parameters (results) that captures nothing and performs the following steps when called: a. Return CreateArrayFromList(results). ... includes: [compareArray.js] features: [joint-iteration] ---*/ var it = Iterator.zip([[1, 2, 3], [4, 5, 6]]); var first = it.next(); assert.sameValue(first.done, false); var second = it.next(); assert.sameValue(second.done, false); var third = it.next(); assert.sameValue(third.done, false); assert.notSameValue(first.value, second.value); assert.notSameValue(second.value, third.value); assert.notSameValue(first.value, third.value); assert.compareArray(first.value, [1, 4]); assert.compareArray(second.value, [2, 5]); assert.compareArray(third.value, [3, 6]); reportCompare(0, 0);