| // Copyright 2015 Microsoft Corporation. All rights reserved. |
| // This code is governed by the license found in the LICENSE file. |
| |
| /*--- |
| description: Source object has iterator which throws |
| 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() { |
| throw new Test262Error(); |
| }, |
| isDone: false, |
| get val() { |
| this.index++; |
| if (this.index > 7) { |
| this.isDone = true; |
| } |
| return 1 << this.index; |
| } |
| }; |
| } |
| }; |
| assert.throws(Test262Error, function() { |
| Array.from(obj); |
| }); |