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