tor-browser

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

reject-ignored-immed.js (1121B)


      1 // |reftest| async
      2 // Copyright (C) 2019 Leo Balter. All rights reserved.
      3 // This code is governed by the BSD license found in the LICENSE file.
      4 
      5 /*---
      6 description: >
      7  Resolved promises ignore rejections through immediate invocation of the
      8    provided resolving function
      9 esid: sec-promise.allsettled
     10 info: |
     11  6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
     12 
     13  Runtime Semantics: PerformPromiseAllSettled
     14  
     15  6. Repeat
     16    ...
     17    z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
     18 flags: [async]
     19 features: [Promise.allSettled]
     20 ---*/
     21 
     22 var simulation = {};
     23 
     24 var fulfiller = {
     25  then(resolve) {
     26    resolve(42);
     27  }
     28 };
     29 
     30 var lateRejector = {
     31  then(resolve, reject) {
     32    resolve(simulation);
     33    reject();
     34  }
     35 };
     36 
     37 Promise.allSettled([fulfiller, lateRejector])
     38  .then((settleds) => {
     39    assert.sameValue(settleds.length, 2);
     40    assert.sameValue(settleds[0].status, 'fulfilled');
     41    assert.sameValue(settleds[0].value, 42);
     42    assert.sameValue(settleds[1].status, 'fulfilled');
     43    assert.sameValue(settleds[1].value, simulation);
     44  }).then($DONE, $DONE);