tor-browser

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

with-new-target.js (1202B)


      1 // Copyright (C) 2014 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 /*---
      4 es6id: 14.1
      5 description: >
      6    with new target
      7 includes: [compareArray.js]
      8 ---*/
      9 class Base {
     10  constructor(...a) {
     11    assert.sameValue(
     12      arguments.length,
     13      a.length,
     14      "The value of `arguments.length` is `a.length`"
     15    );
     16    this.base = a;
     17    var args = [];
     18    for (var i = 0; i < arguments.length; ++i) {
     19      args.push(arguments[i]);
     20    }
     21    assert.compareArray(args, a);
     22  }
     23 }
     24 class Child extends Base {
     25  constructor(...b) {
     26    super(1, 2, 3);
     27    assert.sameValue(
     28      arguments.length,
     29      b.length,
     30      "The value of `arguments.length` is `b.length`"
     31    );
     32    this.child = b;
     33    var args = [];
     34    for (var i = 0; i < arguments.length; ++i) {
     35      args.push(arguments[i]);
     36    }
     37    assert.compareArray(args, b);
     38  }
     39 }
     40 
     41 var c = new Child(1, 2, 3);
     42 
     43 assert.sameValue(c.child.length, 3, "The value of `c.child.length` is `3`");
     44 assert.sameValue(c.base.length, 3, "The value of `c.base.length` is `3`");
     45 
     46 assert.compareArray(
     47  c.child,
     48  [1, 2, 3]
     49 );
     50 assert.compareArray(
     51  c.base,
     52  [1, 2, 3]
     53 );
     54 
     55 reportCompare(0, 0);