Source code
Revision control
Copy as Markdown
Other Tools
// Any copyright is dedicated to the Public Domain.
function innermost() { return arguments.callee.caller; }
function nest() { return eval("innermost();"); }
function nest2() { return nest(); }
assertEq(nest2(), nest);
var innermost = function innermost() { return arguments.callee.caller.caller; };
assertEq(nest2(), nest2);
function nestTwice() { return eval("eval('innermost();');"); }
var nest = nestTwice;
assertEq(nest2(), nest2);
function innermostEval() { return eval("arguments.callee.caller"); }
var innermost = innermostEval;
assertEq(nest2(), nestTwice);
function innermostEvalTwice() { return eval('eval("arguments.callee.caller");'); }
var innermost = innermostEvalTwice;
assertEq(nest2(), nestTwice);
/******************************************************************************/
if (typeof reportCompare === "function")
reportCompare(true, true);
print("Tests complete");