tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

S25.4.4.3_A7.2_T1.js (1189B)


      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_A7.2_T1
      7 author: Sam Mikes
      8 description: Promise.race([p1, p2]) settles when first settles
      9 includes: [promiseHelper.js]
     10 flags: [async]
     11 ---*/
     12 
     13 var sequence = [];
     14 
     15 var p1 = Promise.reject(1),
     16  p2 = Promise.resolve(2),
     17  p = Promise.race([p1, p2]);
     18 
     19 sequence.push(1);
     20 
     21 p.then(function() {
     22  throw new Test262Error("Should not be fulfilled - expected rejection.");
     23 }, function(result) {
     24  assert.sameValue(result, 1, 'The value of result is expected to be 1');
     25 
     26  sequence.push(4);
     27  assert.sameValue(sequence.length, 4, 'The value of sequence.length is expected to be 4');
     28  checkSequence(sequence, "This happens second");
     29 }).catch($DONE);
     30 
     31 Promise.resolve().then(function() {
     32  sequence.push(3);
     33  assert.sameValue(sequence.length, 3, 'The value of sequence.length is expected to be 3');
     34  checkSequence(sequence, "This happens first");
     35 }).then(function() {
     36  sequence.push(5);
     37  assert.sameValue(sequence.length, 5, 'The value of sequence.length is expected to be 5');
     38  checkSequence(sequence, "This happens third");
     39 }).then($DONE, $DONE);
     40 
     41 sequence.push(2);