blob: 124dd48b29f8913527994653d6f81fd9410d420e [file] [log] [blame]
Tests for ES6 arrow function, calling of the super in arrow function
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS isReferenceError is true
PASS b.id is value
PASS isReferenceError is true
PASS d1.id is "b"
PASS d2.id is value
PASS (new D()).id is value
PASS (new E(false)).id is value
PASS typeof (new E(true)).id is 'undefined'
PASS (new F(false)).id is value
PASS typeof (new F(true)).id is 'undefined'
PASS indexOfParentClassInStackError < indexOfnestedArrowInStackError is true
PASS indexOfnestedArrowInStackError < indexOfarrowInChildConstructorInStackError is true
PASS indexOfarrowInChildConstructorInStackError < indexOfChildClassInStackError is true
PASS indexOfChildClassInStackError > 0 is true
PASS indexOfParentClassInStackError > -1 && errorStack.indexOf('ParentClass', indexOfParentClassInStackError + 1) === -1 is true
PASS indexOfnestedArrowInStackError > -1 && errorStack.indexOf('nestedArrow', indexOfnestedArrowInStackError + 1) === -1 is true
PASS indexOfarrowInChildConstructorInStackError > -1 && errorStack.indexOf('arrowInChildConstructor', indexOfarrowInChildConstructorInStackError + 1) === -1 is true
PASS indexOfChildClassInStackError > -1 && errorStack.indexOf('ChildClass', indexOfChildClassInStackError + 1) === -1 is true
PASS (new class extends A { constructor() { ((a = super())=>{})() } }).id is value
PASS (new class extends A { constructor() { ((a = this)=>{ return a; })() } }) threw exception ReferenceError: 'super()' must be called in derived constructor before accessing |this| or returning non-object..
PASS (new class extends A { constructor() { ((a = this, b=super())=>{ return a; })() } }) threw exception ReferenceError: 'super()' must be called in derived constructor before accessing |this| or returning non-object..
PASS (new class extends A { constructor() { ((a = new.target)=>{ return a; })(); super(); } }) did not throw exception.
PASS (new class extends A { constructor() { ((a = new.target, b=super())=>{ return a; })() } }) did not throw exception.
PASS successfullyParsed is true
TEST COMPLETE