diff --git a/test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super.js b/test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super-multiple-arguments.js similarity index 88% rename from test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super.js rename to test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super-multiple-arguments.js index 0e1ae5d36f8072850d82a42255ab07823a248c19..30b7dcecceb2adfa5a7d20d17e6345fc9cc611c1 100644 --- a/test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super.js +++ b/test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super-multiple-arguments.js @@ -2,7 +2,8 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- es6id: 22.1.1 -description: Subclass constructor calling super() creates an Exotic Array object +description: > + Constructor calling super() with 2+ arguments creates an Array object info: > 22.1.1 The Array Constructor diff --git a/test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super-single-argument.js b/test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super-single-argument.js new file mode 100644 index 0000000000000000000000000000000000000000..109dbc9e57b160e14efec70daf7e003cd706e17e --- /dev/null +++ b/test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super-single-argument.js @@ -0,0 +1,25 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +es6id: 22.1.1 +description: > + Constructor calling super() with a single argument creates an Array object +info: > + 22.1.1 The Array Constructor + + The Array constructor is designed to be subclassable. It may be used as the + value of an extends clause of a class definition. Subclass constructors that + intend to inherit the exotic Array behaviour must include a super call to the + Array constructor to initialize subclass instances that are exotic Array + objects. +---*/ + +class Sub extends Array { + constructor(a) { + super(a); + } +} + +var sub = new Sub(42); + +assert.sameValue(sub.length, 42);