// Copyright 2014 Cubane Canada, Inc. All rights reserved. | |
// See LICENSE for details. | |
/*--- | |
info: > | |
Promise.all expects an iterable argument; | |
rejects if IteratorStep() throws | |
es6id: S25.4.4.1_A5.1_T1 | |
author: Sam Mikes | |
description: iterator.next throws, causing Promise.all to reject | |
features: [Symbol.iterator] | |
flags: [async] | |
---*/ | |
var iterThrows = {}; | |
var error = new Test262Error(); | |
iterThrows[Symbol.iterator] = function() { | |
return { | |
next: function () { | |
throw error; | |
} | |
}; | |
}; | |
Promise.all(iterThrows).then(function () { | |
$ERROR('Promise unexpectedly resolved: Promise.all(iterThrows) should throw TypeError'); | |
},function (reason) { | |
assert.sameValue(reason, error); | |
}).then($DONE,$DONE); |