S25.4.4.3_A6.2_T1.js (1038B)
1 // |reftest| async 2 // Copyright 2014 Cubane Canada, Inc. All rights reserved. 3 // See LICENSE for details. 4 5 /*--- 6 es6id: S25.4.4.3_A6.2_T1 7 author: Sam Mikes 8 description: Promise.race([p1]) settles immediately 9 includes: [promiseHelper.js] 10 flags: [async] 11 ---*/ 12 13 var sequence = []; 14 15 var p1 = Promise.reject(1), 16 p = Promise.race([p1]); 17 18 sequence.push(1); 19 20 p.then(function() { 21 throw new Test262Error("Should not fulfill."); 22 }, function() { 23 sequence.push(4); 24 assert.sameValue(sequence.length, 4, 'The value of sequence.length is expected to be 4'); 25 checkSequence(sequence, "This happens second"); 26 }).catch($DONE); 27 28 Promise.resolve().then(function() { 29 sequence.push(3); 30 assert.sameValue(sequence.length, 3, 'The value of sequence.length is expected to be 3'); 31 checkSequence(sequence, "This happens first"); 32 }).then(function() { 33 sequence.push(5); 34 assert.sameValue(sequence.length, 5, 'The value of sequence.length is expected to be 5'); 35 checkSequence(sequence, "This happens third"); 36 }).then($DONE, $DONE); 37 38 sequence.push(2);