Fix prototype of the values returned by Promise.allSettled (#4758)

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
Zoltan Herczeg
2021-09-03 12:15:06 +02:00
committed by GitHub
parent e1ce7dd727
commit 1523ca3b26
2 changed files with 24 additions and 4 deletions
+20 -2
View File
@@ -76,8 +76,26 @@ var rejects = Promise.allSettled(createIterable([
new Promise((_, reject) => { reject("qux"); }),
]));
fulfills.then(result => { assert (result + "" === "foo,bar"); });
rejects.catch(result => { assert (result === "baz"); });
fulfills.then(result => {
assert(Object.getPrototypeOf(result) === Array.prototype);
assert(result.length === 2)
assert(Object.getPrototypeOf(result[0]) === Object.prototype);
assert(result[0].status === "fulfilled");
assert(result[0].value === "foo");
assert(Object.getPrototypeOf(result[1]) === Object.prototype);
assert(result[1].status === "fulfilled");
assert(result[1].value === "bar");
});
rejects.then(result => {
assert(Object.getPrototypeOf(result) === Array.prototype);
assert(result.length === 2)
assert(Object.getPrototypeOf(result[0]) === Object.prototype);
assert(result[0].status === "rejected");
assert(result[0].reason === "baz");
assert(Object.getPrototypeOf(result[1]) === Object.prototype);
assert(result[1].status === "rejected");
assert(result[1].reason === "qux");
});
var closed = true;
delete Promise.resolve;