// Test calling a function using a previously captured stack as an async stack. function getAsyncStack() { return saveStack(); } // asyncCause may contain non-ASCII characters. let testAsyncCause = "Tes" + String.fromCharCode(355) + "String"; callFunctionWithAsyncStack(function asyncCallback() { let stack = saveStack(); assertEq(stack.functionDisplayName, "asyncCallback"); assertEq(stack.parent, null); assertEq(stack.asyncCause, null); assertEq(stack.asyncParent.functionDisplayName, "getAsyncStack"); assertEq(stack.asyncParent.asyncCause, testAsyncCause); assertEq(stack.asyncParent.asyncParent, null); assertEq(stack.asyncParent.parent.asyncCause, null); assertEq(stack.asyncParent.parent.asyncParent, null); assertEq(stack.asyncParent.parent.parent, null); }, getAsyncStack(), testAsyncCause);