tor-browser

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

ctx-ctor.js (985B)


      1 // Copyright (C) 2015 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 description: >
      6    `Promise.all` invoked on a constructor value
      7 es6id: 25.4.4.1
      8 info: |
      9    1. Let C be the this value.
     10    [...]
     11    6. Let promiseCapability be NewPromiseCapability(C).
     12    [...]
     13    10. Let iteratorRecord be Record {[[iterator]]: iterator, [[done]]: false}.
     14    11. Let result be PerformPromiseAll(iteratorRecord, C, promiseCapability).
     15    [...]
     16    13. Return Completion(result).
     17 features: [class]
     18 ---*/
     19 
     20 var executor = null;
     21 var callCount = 0;
     22 
     23 class SubPromise extends Promise {
     24  constructor(a) {
     25    super(a);
     26    executor = a;
     27    callCount += 1;
     28  }
     29 }
     30 
     31 var instance = Promise.all.call(SubPromise, []);
     32 
     33 assert.sameValue(instance.constructor, SubPromise);
     34 assert.sameValue(instance instanceof SubPromise, true);
     35 
     36 assert.sameValue(callCount, 1);
     37 assert.sameValue(typeof executor, 'function');
     38 
     39 reportCompare(0, 0);