mirror of https://github.com/tc39/test262.git
37 lines
982 B
JavaScript
37 lines
982 B
JavaScript
// 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
|
|
---*/
|
|
|
|
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 returned type is expected to be object.");
|
|
for (var j = 0; j < a.length; j++) {
|
|
assert.sameValue(a[j], array[j], "Elements mismatch at " + j + ".");
|
|
}
|