OLD | NEW |
(Empty) | |
| 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).bas
eMethod |
| 14 PASS Derived.staticMethod() is "base3" |
| 15 PASS (new SecondDerived).chainMethod() is ["base", "derived", "secondDerived"] |
| 16 PASS x = class extends Base { constructor() { super(); } super() {} } did not th
row exception. |
| 17 PASS x = class extends Base { constructor() { super(); } method() { super() } }
threw exception SyntaxError: 'super' keyword unexpected here. |
| 18 PASS x = class extends Base { constructor() { super(); } method() { super } } th
rew exception SyntaxError: 'super' keyword unexpected here. |
| 19 PASS x = class extends Base { constructor() { super(); } method() { return new s
uper } } threw exception SyntaxError: 'super' keyword unexpected here. |
| 20 PASS x = class extends Base { constructor() { super(); } method1() { delete (sup
er.foo) } method2() { delete super["foo"] } } did not throw exception. |
| 21 PASS (new x).method1() threw exception ReferenceError: Unsupported reference to
'super'. |
| 22 PASS (new x).method2() threw exception ReferenceError: Unsupported reference to
'super'. |
| 23 PASS new (class { constructor() { return undefined; } }) instanceof Object is tr
ue |
| 24 PASS new (class { constructor() { return 1; } }) instanceof Object is true |
| 25 PASS new (class extends Base { constructor() { return undefined } }) threw excep
tion ReferenceError: this is not defined. |
| 26 PASS new (class extends Base { constructor() { super(); return undefined } }) in
stanceof Object is true |
| 27 PASS x = { }; new (class extends Base { constructor() { return x } }); is x |
| 28 PASS x instanceof Base is false |
| 29 PASS new (class extends Base { constructor() { } }) threw exception ReferenceErr
or: this is not defined. |
| 30 PASS new (class extends Base { constructor() { return 1; } }) threw exception Ty
peError: Derived constructors may only return object or undefined. |
| 31 PASS new (class extends null { constructor() { return undefined } }) threw excep
tion ReferenceError: this is not defined. |
| 32 PASS new (class extends null { constructor() { super(); return undefined } }) th
rew exception TypeError: function () {} is not a constructor. |
| 33 PASS x = { }; new (class extends null { constructor() { return x } }); is x |
| 34 PASS x instanceof Object is true |
| 35 PASS new (class extends null { constructor() { } }) threw exception ReferenceErr
or: this is not defined. |
| 36 PASS new (class extends null { constructor() { return 1; } }) threw exception Ty
peError: Derived constructors may only return object or undefined. |
| 37 PASS new (class extends null { constructor() { super() } }) threw exception Type
Error: function () {} is not a constructor. |
| 38 PASS new (class { constructor() { super() } }) threw exception SyntaxError: 'sup
er' keyword unexpected here. |
| 39 PASS function x() { super(); } threw exception SyntaxError: 'super' keyword unex
pected here. |
| 40 PASS new (class extends Object { constructor() { function x() { super() } } }) t
hrew exception SyntaxError: 'super' keyword unexpected here. |
| 41 PASS new (class extends Object { constructor() { function x() { super.method } }
}) threw exception SyntaxError: 'super' keyword unexpected here. |
| 42 PASS function x() { super.method(); } threw exception SyntaxError: 'super' keywo
rd unexpected here. |
| 43 PASS function x() { super(); } threw exception SyntaxError: 'super' keyword unex
pected here. |
| 44 PASS successfullyParsed is true |
| 45 |
| 46 TEST COMPLETE |
OLD | NEW |