OLD | NEW |
1 Tests for ES6 class name semantics in class statements and expressions | 1 Tests for ES6 class name semantics in class statements and expressions |
2 | 2 |
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
". | 3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
". |
4 | 4 |
5 | 5 |
6 Class statement | 6 Class statement |
7 PASS A threw exception ReferenceError: A is not defined. | 7 PASS A threw exception ReferenceError: A is not defined. |
8 PASS 'use strict'; A threw exception ReferenceError: A is not defined. | 8 PASS 'use strict'; A threw exception ReferenceError: A is not defined. |
9 PASS class {} threw exception SyntaxError: Unexpected token {. | 9 PASS class {} threw exception SyntaxError: Unexpected token {. |
10 PASS 'use strict'; class {} threw exception SyntaxError: Unexpected token {. | 10 PASS 'use strict'; class {} threw exception SyntaxError: Unexpected token {. |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 PASS var VarA = class A { constructor() {} }; var VarB = class B extends VarA {
constructor() { super(); this.base = VarA; this.derived = B; this.derivedVar = V
arB; } }; (new VarB).base === VarA is true | 101 PASS var VarA = class A { constructor() {} }; var VarB = class B extends VarA {
constructor() { super(); this.base = VarA; this.derived = B; this.derivedVar = V
arB; } }; (new VarB).base === VarA is true |
102 PASS 'use strict'; var VarA = class A { constructor() {} }; var VarB = class B e
xtends VarA { constructor() { super(); this.base = VarA; this.derived = B; this.
derivedVar = VarB; } }; (new VarB).base === VarA is true | 102 PASS 'use strict'; var VarA = class A { constructor() {} }; var VarB = class B e
xtends VarA { constructor() { super(); this.base = VarA; this.derived = B; this.
derivedVar = VarB; } }; (new VarB).base === VarA is true |
103 PASS var VarA = class A { constructor() {} }; var VarB = class B extends VarA {
constructor() { super(); this.base = VarA; this.derived = B; this.derivedVar = V
arB; } }; (new VarB).derived === VarB is true | 103 PASS var VarA = class A { constructor() {} }; var VarB = class B extends VarA {
constructor() { super(); this.base = VarA; this.derived = B; this.derivedVar = V
arB; } }; (new VarB).derived === VarB is true |
104 PASS 'use strict'; var VarA = class A { constructor() {} }; var VarB = class B e
xtends VarA { constructor() { super(); this.base = VarA; this.derived = B; this.
derivedVar = VarB; } }; (new VarB).derived === VarB is true | 104 PASS 'use strict'; var VarA = class A { constructor() {} }; var VarB = class B e
xtends VarA { constructor() { super(); this.base = VarA; this.derived = B; this.
derivedVar = VarB; } }; (new VarB).derived === VarB is true |
105 PASS var VarA = class A { constructor() {} }; var VarB = class B extends VarA {
constructor() { super(); this.base = VarA; this.derived = B; this.derivedVar = V
arB; } }; (new VarB).derivedVar === VarB is true | 105 PASS var VarA = class A { constructor() {} }; var VarB = class B extends VarA {
constructor() { super(); this.base = VarA; this.derived = B; this.derivedVar = V
arB; } }; (new VarB).derivedVar === VarB is true |
106 PASS 'use strict'; var VarA = class A { constructor() {} }; var VarB = class B e
xtends VarA { constructor() { super(); this.base = VarA; this.derived = B; this.
derivedVar = VarB; } }; (new VarB).derivedVar === VarB is true | 106 PASS 'use strict'; var VarA = class A { constructor() {} }; var VarB = class B e
xtends VarA { constructor() { super(); this.base = VarA; this.derived = B; this.
derivedVar = VarB; } }; (new VarB).derivedVar === VarB is true |
107 | 107 |
108 Class statement binding in other circumstances | 108 Class statement binding in other circumstances |
109 PASS var result = A; result threw exception ReferenceError: A is not defined. | 109 PASS var result = A; result threw exception ReferenceError: A is not defined. |
110 PASS 'use strict'; var result = A; result threw exception ReferenceError: A is n
ot defined. | 110 PASS 'use strict'; var result = A; result threw exception ReferenceError: A is n
ot defined. |
111 FAIL var result = A; class A {}; result should throw an exception. Was undefined
. | 111 PASS var result = A; class A {}; result threw exception ReferenceError: A is not
defined. |
112 PASS 'use strict'; var result = A; class A {}; result threw exception ReferenceE
rror: A is not defined. | 112 PASS 'use strict'; var result = A; class A {}; result threw exception ReferenceE
rror: A is not defined. |
113 PASS class A { constructor() { A = 1; } }; new A threw exception TypeError: Assi
gnment to constant variable.. | 113 PASS class A { constructor() { A = 1; } }; new A threw exception TypeError: Assi
gnment to constant variable.. |
114 PASS 'use strict'; class A { constructor() { A = 1; } }; new A threw exception T
ypeError: Assignment to constant variable.. | 114 PASS 'use strict'; class A { constructor() { A = 1; } }; new A threw exception T
ypeError: Assignment to constant variable.. |
115 PASS class A { constructor() { } }; A = 1; A is 1 | 115 PASS class A { constructor() { } }; A = 1; A is 1 |
116 PASS 'use strict'; class A { constructor() { } }; A = 1; A is 1 | 116 PASS 'use strict'; class A { constructor() { } }; A = 1; A is 1 |
117 PASS class A {}; var result = A; result did not throw exception. | 117 PASS class A {}; var result = A; result did not throw exception. |
118 PASS 'use strict'; class A {}; var result = A; result did not throw exception. | 118 PASS 'use strict'; class A {}; var result = A; result did not throw exception. |
119 PASS eval('var Foo = 10'); Foo is 10 | 119 PASS eval('var Foo = 10'); Foo is 10 |
120 PASS 'use strict'; eval('var Foo = 10'); Foo threw exception ReferenceError: Foo
is not defined. | 120 PASS 'use strict'; eval('var Foo = 10'); Foo threw exception ReferenceError: Foo
is not defined. |
121 PASS eval('class Bar { constructor() {} }'); Bar.toString() is 'class Bar { cons
tructor() {} }' | 121 PASS eval('class Bar { constructor() {} }; Bar.toString()') is 'class Bar { cons
tructor() {} }' |
122 PASS 'use strict'; eval('class Bar { constructor() {} }'); Bar.toString() threw
exception ReferenceError: Bar is not defined. | 122 PASS 'use strict'; eval('class Bar { constructor() {} }'); Bar.toString() threw
exception ReferenceError: Bar is not defined. |
123 PASS successfullyParsed is true | 123 PASS successfullyParsed is true |
124 | 124 |
125 TEST COMPLETE | 125 TEST COMPLETE |
OLD | NEW |