tor-browser

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

S25.4.4.3_A7.1_T2.js (1107B)


      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.1_T2
      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.resolve(1),
     16  p2 = new Promise(function() {}),
     17  p = Promise.race([p1, p2]);
     18 
     19 sequence.push(1);
     20 
     21 p.then(function(result) {
     22  assert.sameValue(result, 1, 'The value of result is expected to be 1');
     23 
     24  sequence.push(4);
     25  assert.sameValue(sequence.length, 4, 'The value of sequence.length is expected to be 4');
     26  checkSequence(sequence, "This happens second");
     27 }).catch($DONE);
     28 
     29 Promise.resolve().then(function() {
     30  sequence.push(3);
     31  assert.sameValue(sequence.length, 3, 'The value of sequence.length is expected to be 3');
     32  checkSequence(sequence, "This happens first");
     33 }).then(function() {
     34  sequence.push(5);
     35  assert.sameValue(sequence.length, 5, 'The value of sequence.length is expected to be 5');
     36  checkSequence(sequence, "This happens third");
     37 }).then($DONE, $DONE);
     38 
     39 sequence.push(2);