tor-browser

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

S25.4.4.1_A8.1_T1.js (975B)


      1 // |reftest| async
      2 // Copyright 2014 Cubane Canada, Inc.  All rights reserved.
      3 // See LICENSE for details.
      4 
      5 /*---
      6 es6id: S25.4.4.1_A8.1_T1
      7 author: Sam Mikes
      8 description: Promise.all([p1, p2]) resolution functions are called in predictable sequence
      9 includes: [promiseHelper.js]
     10 flags: [async]
     11 ---*/
     12 
     13 var sequence = [];
     14 
     15 var p1 = new Promise(function(resolve) {
     16  resolve(1);
     17 });
     18 var p2 = new Promise(function(resolve) {
     19  resolve(2);
     20 });
     21 
     22 sequence.push(1);
     23 
     24 p1.then(function() {
     25  sequence.push(3);
     26  assert.sameValue(sequence.length, 3);
     27  checkSequence(sequence, "Expected to be called first.");
     28 }).catch($DONE);
     29 
     30 Promise.all([p1, p2]).then(function() {
     31  sequence.push(5);
     32  assert.sameValue(sequence.length, 5);
     33  checkSequence(sequence, "Expected to be called third.");
     34 }).then($DONE, $DONE);
     35 
     36 p2.then(function() {
     37  sequence.push(4);
     38  assert.sameValue(sequence.length, 4);
     39  checkSequence(sequence, "Expected to be called second.");
     40 }).catch($DONE);
     41 
     42 sequence.push(2);