Enable ES6 classes by default
[WebKit-https.git] / LayoutTests / js / script-tests / class-syntax-default-constructor.js
1
2 description('Tests for ES6 class syntax default constructor');
3
4 shouldBeTrue('class A { }; new A instanceof A');
5 shouldThrow('A()', '"TypeError: Cannot call a class constructor"');
6 shouldBeTrue('A.prototype.constructor instanceof Function');
7 shouldBe('A.prototype.constructor.name', '"A"');
8 shouldBeTrue('class B extends A { }; new B instanceof A; new B instanceof A');
9 shouldThrow('B()', '"TypeError: Cannot call a class constructor"');
10 shouldBe('B.prototype.constructor.name', '"B"');
11 shouldBeTrue('A !== B');
12 shouldBe('A.prototype.constructor', 'B.prototype.constructor');
13 shouldBe('new (class extends (class { constructor(a, b) { return [a, b]; } }) {})(1, 2)', '[1, 2]');
14
15 var successfullyParsed = true;