spread-call-super-property.js 800 Bytes
Newer Older
1 2 3 4
// Copyright 2015 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

5 6
(function testCallSuperPropertyStrict() {
  "use strict";
7
  class BaseClass {
8
    method(...args) { return [this].concat(args); }
9 10
  }
  class SubClass extends BaseClass {
11
    method(...args) { return super.method(...args); }
12 13 14
  }

  var c = new SubClass();
15 16 17 18 19 20 21 22 23 24 25 26 27 28
  assertEquals([c, 1, 2, 3, 4, 5], c.method(1, 2, 3, 4, 5));
})();


(function testCallSuperPropertySloppy() {
  class BaseClass {
    method(...args) { return [this].concat(args); }
  }
  class SubClass extends BaseClass {
    method(...args) { return super.method(...args); }
  }

  var c = new SubClass();
  assertEquals([c, 1, 2, 3, 4, 5], c.method(1, 2, 3, 4, 5));
29
})();