1 // Copyright 2015 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 6 "use strict"; 7 class Base { 8 } 9 class Subclass extends Base { 10 constructor(a,b,c) { 11 arguments[1]; 12 } 13 } 14 assertThrows(function() { Subclass(); }, TypeError); 15 assertThrows(function() { Subclass(1); }, TypeError); 16 assertThrows(function() { Subclass(1, 2); }, TypeError); 17 assertThrows(function() { Subclass(1, 2, 3); }, TypeError); 18 assertThrows(function() { Subclass(1, 2, 3, 4); }, TypeError); 19 20 assertThrows(function() { Subclass.call(); }, TypeError); 21 assertThrows(function() { Subclass.call({}); }, TypeError); 22 assertThrows(function() { Subclass.call({}, 1); }, TypeError); 23 assertThrows(function() { Subclass.call({}, 1, 2); }, TypeError); 24 assertThrows(function() { Subclass.call({}, 1, 2, 3, 4); }, TypeError); 25