diff options
Diffstat (limited to 'js/src/tests/test262/language/statements/class/arguments/default-constructor.js')
-rw-r--r-- | js/src/tests/test262/language/statements/class/arguments/default-constructor.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/class/arguments/default-constructor.js b/js/src/tests/test262/language/statements/class/arguments/default-constructor.js new file mode 100644 index 0000000000..f30ec66b5a --- /dev/null +++ b/js/src/tests/test262/language/statements/class/arguments/default-constructor.js @@ -0,0 +1,32 @@ +// Copyright (C) 2014 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +es6id: 14.5 +description: > + class default constructor arguments +---*/ +var args, that; +class Base { + constructor() { + that = this; + args = arguments; + } +} +class Derived extends Base {} + +new Derived; +assert.sameValue(args.length, 0, "The value of `args.length` is `0`"); + +new Derived(0, 1, 2); +assert.sameValue(args.length, 3, "The value of `args.length` is `3`"); +assert.sameValue( + that instanceof Derived, + true, + "The result of `that instanceof Derived` is `true`" +); + +var arr = new Array(100); +var obj = {}; +assert.throws(TypeError, function() {Derived.apply(obj, arr);}); + +reportCompare(0, 0); |