This tests for caller property in functions. Only functions that are called from inside of other functions and have a parent should have this property set. Tests return true when caller is found and false when the caller is null. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS childHasCallerWhenExecutingGlobalCode is false PASS childHasCallerWhenCalledWithoutParent is false PASS childHasCallerWhenCalledFromWithinParent is true PASS nonStrictCaller(nonStrictCallee) is nonStrictCaller PASS nonStrictCaller(strictCallee) threw exception TypeError: Type error. PASS strictCaller(nonStrictCallee) threw exception TypeError: Function.caller used to retrieve strict caller. PASS strictCaller(strictCallee) threw exception TypeError: Type error. PASS nonStrictCaller(boundNonStrictCallee) is nonStrictCaller PASS nonStrictCaller(boundStrictCallee) threw exception TypeError: Type error. PASS strictCaller(boundNonStrictCallee) threw exception TypeError: Function.caller used to retrieve strict caller. PASS strictCaller(boundStrictCallee) threw exception TypeError: Type error. PASS nonStrictGetter(nonStrictAccessor) is nonStrictGetter PASS nonStrictSetter(nonStrictAccessor) is true PASS nonStrictGetter(strictAccessor) threw exception TypeError: Type error. PASS nonStrictSetter(strictAccessor) threw exception TypeError: Type error. PASS strictGetter(nonStrictAccessor) threw exception TypeError: Function.caller used to retrieve strict caller. PASS strictSetter(nonStrictAccessor) threw exception TypeError: Function.caller used to retrieve strict caller. PASS strictGetter(strictAccessor) threw exception TypeError: Type error. PASS strictSetter(strictAccessor) threw exception TypeError: Type error. PASS successfullyParsed is true TEST COMPLETE