From 42d1a10d6deafabb737b9edec4d25aeb59445755 Mon Sep 17 00:00:00 2001 From: Leonardo Balter <leonardo.balter@gmail.com> Date: Wed, 13 Jan 2016 13:28:00 -0500 Subject: [PATCH] fixup! Add tests for Array - calling super with a single argument --- ...tructor-calls-super-multiple-arguments.js} | 3 ++- .../contructor-calls-super-single-argument.js | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) rename test/language/statements/class/subclass/builtin-objects/Array/{contructor-calls-super.js => contructor-calls-super-multiple-arguments.js} (88%) create mode 100644 test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super-single-argument.js 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 0e1ae5d36f..30b7dcecce 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 0000000000..109dbc9e57 --- /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); -- GitLab