// Copyright 2015 Microsoft Corporation. All rights reserved. // This code is governed by the license found in the LICENSE file. /*--- description: Source object has iterator esid: sec-array.from es6id: 22.1.2.1 features: [Symbol.iterator] ---*/ var array = [2, 4, 8, 16, 32, 64, 128]; var obj = { [Symbol.iterator]() { return { index: 0, next() { return { value: this.val, done: this.isDone }; }, isDone: false, get val() { this.index++; if (this.index > 7) { this.isDone = true; } return 1 << this.index; } }; } }; var a = Array.from.call(Object, obj); assert.sameValue(typeof a, typeof {}, 'The value of `typeof a` is expected to be typeof {}'); for (var j = 0; j < a.length; j++) { assert.sameValue(a[j], array[j], 'The value of a[j] is expected to equal the value of array[j]'); }