Tests for ES6 arrow function lexical bind of this On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS d.getName() is d.name PASS d.getNameHard() is d.name PASS d.getNameNesting()()() is d.name PASS obj.method()('correct') is 'objCode-name-correct' PASS obj.method()('correct') is 'newObjCode-name-correct' PASS deepObj.internalObject.method()('correct') is 'internalObject-name-correct' PASS deepObj.internalObject.method()('correct') is 'newInternalObject-name-correct' PASS instance.func() === instance is true PASS ownerObj.method()() === ownerObj is true PASS fake.steal() === ownerObj is true PASS real.borrow()() === real is true PASS arrowFunction('-this') is "right-this" PASS hostObj.func('-this') is "right-this" PASS arrowWithEval.func() is "new-value" PASS fooObject.arr() is internal_value_1 PASS fooObject._id is internal_value_2 PASS boo.call(expected) is expected PASS (function () { return (a = this)=>{return a;}; }).call(expected)() is expected PASS successfullyParsed is true TEST COMPLETE