| // Copyright 2014 Cubane Canada, Inc. All rights reserved. |
| // See LICENSE for details. |
| |
| /*--- |
| info: | |
| Misc sequencing tests |
| inspired by https://github.com/promises-aplus/promises-tests/issues/61 |
| Case "T2a" |
| es6id: S25.4.4_A2.1_T2 |
| author: Sam Mikes |
| description: Promise onResolved functions are called in predictable sequence |
| includes: [promiseHelper.js] |
| flags: [async] |
| ---*/ |
| |
| var resolveP1, rejectP2, p1, p2, |
| sequence = []; |
| |
| p1 = new Promise(function(resolve, reject) { |
| resolveP1 = resolve; |
| }); |
| p2 = new Promise(function(resolve, reject) { |
| rejectP2 = reject; |
| }); |
| |
| rejectP2(3); |
| resolveP1(2); |
| |
| p1.then(function(msg) { |
| sequence.push(msg); |
| }); |
| |
| p2.catch(function(msg) { |
| sequence.push(msg); |
| }).then(function() { |
| checkSequence(sequence, "Expected 1,2,3"); |
| }).then($DONE, $DONE); |
| |
| sequence.push(1); |