397e6d123f19f4311ca619afdbfaf3a2b1e85ccc
[WebKit-https.git] / LayoutTests / js / class-syntax-super-expected.txt
1 Tests for ES6 class syntax "super"
2
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4
5
6 PASS (new Base) instanceof Base is true
7 PASS (new Derived) instanceof Derived is true
8 PASS (new Derived).callBaseMethod() is baseMethodValue
9 PASS x = (new Derived).callBaseMethod; x() is baseMethodValue
10 PASS (new Derived).callBaseMethodInGetter is baseMethodValue
11 PASS (new Derived).callBaseMethodInSetter = 1; valueInSetter is baseMethodValue
12 PASS (new Derived).baseMethodInGetterSetter is (new Base).baseMethod
13 PASS (new Derived).baseMethodInGetterSetter = 1; valueInSetter is (new Base).baseMethod
14 PASS Derived.staticMethod() is "base3"
15 PASS (new SecondDerived).chainMethod() is ["base", "derived", "secondDerived"]
16 PASS x = class extends Base { constructor() { super(); } super() {} } threw exception SyntaxError: Unexpected keyword 'super'.
17 PASS x = class extends Base { constructor() { super(); } method() { super() } } threw exception SyntaxError: Cannot call super() outside of a class constructor..
18 PASS x = class extends Base { constructor() { super(); } method() { super } } threw exception SyntaxError: Cannot reference super..
19 PASS x = class extends Base { constructor() { super(); } method() { return new super } } did not throw exception.
20 PASS (new x).method() instanceof Base is true
21 PASS (new x).method() instanceof x is false
22 PASS x = class extends Base { constructor() { super(); } method1() { delete (super.foo) } method2() { delete super["foo"] } } did not throw exception.
23 PASS (new x).method1() threw exception ReferenceError: Cannot delete a super property.
24 PASS (new x).method2() threw exception ReferenceError: Cannot delete a super property.
25 PASS new (class { constructor() { return undefined; } }) instanceof Object is true
26 PASS new (class { constructor() { return 1; } }) instanceof Object is true
27 PASS new (class extends Base { constructor() { return undefined } }) threw exception ReferenceError: Cannot access uninitialized variable..
28 PASS new (class extends Base { constructor() { super(); return undefined } }) instanceof Object is true
29 PASS x = { }; new (class extends Base { constructor() { return x } }); is x
30 PASS x instanceof Base is false
31 PASS new (class extends Base { constructor() { } }) threw exception ReferenceError: Cannot access uninitialized variable..
32 PASS new (class extends Base { constructor() { return 1; } }) threw exception TypeError: Cannot return a non-object type in the constructor of a derived class..
33 PASS new (class extends null { constructor() { return undefined } }) threw exception ReferenceError: Cannot access uninitialized variable..
34 PASS new (class extends null { constructor() { super(); return undefined } }) threw exception TypeError: undefined is not an object (evaluating 'super()').
35 PASS x = { }; new (class extends null { constructor() { return x } }); is x
36 PASS x instanceof Object is true
37 PASS new (class extends null { constructor() { } }) threw exception ReferenceError: Cannot access uninitialized variable..
38 PASS new (class extends null { constructor() { return 1; } }) threw exception TypeError: Cannot return a non-object type in the constructor of a derived class..
39 PASS new (class extends null { constructor() { super() } }) threw exception TypeError: undefined is not an object (evaluating 'super()').
40 PASS new (class { constructor() { super() } }) threw exception SyntaxError: Cannot call super() in a base class constructor..
41 PASS function x() { super(); } threw exception SyntaxError: Cannot call super() outside of a class constructor..
42 PASS new (class extends Object { constructor() { function x() { super() } } }) threw exception SyntaxError: Cannot call super() outside of a class constructor..
43 PASS new (class extends Object { constructor() { function x() { super.method } } }) threw exception SyntaxError: super can only be used in a method of a derived class..
44 PASS function x() { super.method(); } threw exception SyntaxError: super can only be used in a method of a derived class..
45 PASS function x() { super(); } threw exception SyntaxError: Cannot call super() outside of a class constructor..
46 PASS successfullyParsed is true
47
48 TEST COMPLETE
49