Tests different combinations of async stacks in chains.
Regular
userFunction (test.js:1:36)
-- inner async --
runWithRegular (utils.js:2:12)
inner (test.js:2:28)
runWithNone (utils.js:27:2)
(anonymous) (test.js:3:10)

Regular - Regular
userFunction (test.js:1:36)
-- inner async --
runWithRegular (utils.js:2:12)
inner (test.js:2:28)
-- outer async --
runWithRegular (utils.js:2:12)
(anonymous) (test.js:3:10)

Regular - EmptyName
userFunction (test.js:1:36)
-- inner async --
runWithRegular (utils.js:2:12)
inner (test.js:2:28)
-- <empty> --
runWithEmptyName (utils.js:6:12)
(anonymous) (test.js:3:10)

Regular - EmptyStack
userFunction (test.js:1:36)
-- inner async --
runWithRegular (utils.js:2:12)
inner (test.js:2:28)

Regular - EmptyNameEmptyStack
userFunction (test.js:1:36)
-- inner async --
runWithRegular (utils.js:2:12)
inner (test.js:2:28)

Regular - External
userFunction (test.js:1:36)
-- inner async --
runWithRegular (utils.js:2:12)
inner (test.js:2:28)
(anonymous) (utils.js:21:4)
  <external stack>

EmptyName
userFunction (test.js:1:36)
-- <empty> --
runWithEmptyName (utils.js:6:12)
inner (test.js:2:28)
runWithNone (utils.js:27:2)
(anonymous) (test.js:3:10)

EmptyName - Regular
userFunction (test.js:1:36)
-- <empty> --
runWithEmptyName (utils.js:6:12)
inner (test.js:2:28)
-- outer async --
runWithRegular (utils.js:2:12)
(anonymous) (test.js:3:10)

EmptyName - EmptyName
userFunction (test.js:1:36)
-- <empty> --
runWithEmptyName (utils.js:6:12)
inner (test.js:2:28)
-- <empty> --
runWithEmptyName (utils.js:6:12)
(anonymous) (test.js:3:10)

EmptyName - EmptyStack
userFunction (test.js:1:36)
-- <empty> --
runWithEmptyName (utils.js:6:12)
inner (test.js:2:28)

EmptyName - EmptyNameEmptyStack
userFunction (test.js:1:36)
-- <empty> --
runWithEmptyName (utils.js:6:12)
inner (test.js:2:28)

EmptyName - External
userFunction (test.js:1:36)
-- <empty> --
runWithEmptyName (utils.js:6:12)
inner (test.js:2:28)
(anonymous) (utils.js:21:4)
  <external stack>

EmptyStack
userFunction (test.js:1:36)

EmptyStack - Regular
userFunction (test.js:1:36)
-- inner async --
-- outer async --
runWithRegular (utils.js:2:12)
(anonymous) (test.js:3:10)

EmptyStack - EmptyName
userFunction (test.js:1:36)
-- inner async --
-- <empty> --
runWithEmptyName (utils.js:6:12)
(anonymous) (test.js:3:10)

EmptyStack - EmptyStack
userFunction (test.js:1:36)

EmptyStack - EmptyNameEmptyStack
userFunction (test.js:1:36)

EmptyStack - External
userFunction (test.js:1:36)
-- inner async --
  <external stack>

EmptyNameEmptyStack
userFunction (test.js:1:36)

EmptyNameEmptyStack - Regular
userFunction (test.js:1:36)
-- outer async --
runWithRegular (utils.js:2:12)
(anonymous) (test.js:3:10)

EmptyNameEmptyStack - EmptyName
userFunction (test.js:1:36)
-- <empty> --
runWithEmptyName (utils.js:6:12)
(anonymous) (test.js:3:10)

EmptyNameEmptyStack - EmptyStack
userFunction (test.js:1:36)

EmptyNameEmptyStack - EmptyNameEmptyStack
userFunction (test.js:1:36)

EmptyNameEmptyStack - External
userFunction (test.js:1:36)
-- <empty> --
  <external stack>

External
userFunction (test.js:1:36)
(anonymous) (utils.js:21:4)
  <external stack>