| // Copyright 2014 Cubane Canada, Inc. All rights reserved. |
| // See LICENSE for details. |
| |
| /*--- |
| es6id: S25.4.4.3_A7.3_T1 |
| author: Sam Mikes |
| description: Promise.race([p1, p2]) settles when first settles |
| flags: [async] |
| ---*/ |
| |
| var resolveP1, rejectP2, |
| p1 = new Promise(function(resolve) { |
| resolveP1 = resolve; |
| }), |
| p2 = new Promise(function(resolve, reject) { |
| rejectP2 = reject; |
| }); |
| |
| rejectP2(new Error("Promise.race should not see this if P1 already resolved")); |
| resolveP1(1); |
| |
| Promise.race([p1, p2]).then(function(arg) { |
| if (arg !== 1) { |
| $ERROR("Expected fulfillment with 1, got " + arg); |
| } |
| }).then($DONE, $DONE); |