summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/Promise/any/resolve-from-reject-catch.js
blob: 6aee6c91555e52d3e88d495027b0e9abc8e75580 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// |reftest| async
// Copyright (C) 2020 Rick Waldron. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-promise.any
description: >
  Promise.any resolves with the first item that does not reject.
flags: [async]
features: [Promise.any, arrow-function]
---*/

let fulfillables = [
  Promise.reject('a'),
  new Promise((resolve, reject) => reject('b')),
  Promise.all([Promise.reject('c')]),
  Promise.reject('d').catch(v => v),
];

Promise.any(fulfillables)
  .then((resolution) => {
    assert.sameValue(resolution, 'd');
  }).then($DONE, $DONE);