Check scope chains for different call frames at different pauses.


== Running test suite: PausedCallFrameScope
-- Running test case: PausedCallFrameScope.TriggerFirstPause
CALLFRAME: firstPause

---- Scope Chain ----
  SCOPE: Name (firstPause) - Type (Block) - Hash (firstPause:<sourceID>:21:29)
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:21:29)
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:21:29)
    - barVarVariable1
  SCOPE: Name (firstPause) - Type (FunctionName) - Hash (firstPause:<sourceID>:21:29)
    - firstPause
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - fooLexicalVariable2
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name (firstPause) - Type (Block) - Hash (firstPause:<sourceID>:21:29)
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (Local) - Hash (firstPause:<sourceID>:21:29)
    - barVarVariable1
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (FunctionName) - Hash (firstPause:<sourceID>:21:29)
    - firstPause
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
    - fooLexicalVariable2
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

CALLFRAME: firstPause

---- Scope Chain ----
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - fooLexicalVariable2
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name (firstPause) - Type (Local) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
    - fooLexicalVariable2
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

CALLFRAME: entry

---- Scope Chain ----
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - fooLexicalVariable2
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name (entry) - Type (Local) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
    - fooLexicalVariable2
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()


-- Running test case: PausedCallFrameScope.TriggerSecondPause
CALLFRAME: secondPause

---- Scope Chain ----
  SCOPE: Name (secondPause) - Type (Block) - Hash (secondPause:<sourceID>:6:21)
    - blockLexicalVariable
  SCOPE: Name (secondPause) - Type (Closure) - Hash (secondPause:<sourceID>:6:21)
    - shoeLexicalVariable1
  SCOPE: Name (secondPause) - Type (Closure) - Hash (secondPause:<sourceID>:6:21)
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name (secondPause) - Type (Block) - Hash (secondPause:<sourceID>:6:21)
    - blockLexicalVariable
  SCOPE: Name (secondPause) - Type (Local) - Hash (secondPause:<sourceID>:6:21)
    - shoeLexicalVariable1
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

CALLFRAME: firstPause

---- Scope Chain ----
  SCOPE: Name (firstPause) - Type (Block) - Hash (firstPause:<sourceID>:21:29)
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:21:29)
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:21:29)
    - barVarVariable1
  SCOPE: Name (firstPause) - Type (FunctionName) - Hash (firstPause:<sourceID>:21:29)
    - firstPause
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - fooLexicalVariable2
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name (firstPause) - Type (Block) - Hash (firstPause:<sourceID>:21:29)
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (Local) - Hash (firstPause:<sourceID>:21:29)
    - barVarVariable1
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (FunctionName) - Hash (firstPause:<sourceID>:21:29)
    - firstPause
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
    - fooLexicalVariable2
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

CALLFRAME: firstPause

---- Scope Chain ----
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - fooLexicalVariable2
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name (firstPause) - Type (Local) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
    - fooLexicalVariable2
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

CALLFRAME: entry

---- Scope Chain ----
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - fooLexicalVariable2
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name (entry) - Type (Local) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
    - fooLexicalVariable2
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()


-- Running test case: PausedCallFrameScope.TriggerThirdPause
CALLFRAME: 

---- Scope Chain ----
  SCOPE: Name () - Type (Closure) - Hash (:<sourceID>:36:14)
    - localVariableInsideAnonymousFunction
  SCOPE: Name () - Type (Closure) - Hash (:<sourceID>:36:14)
  SCOPE: Name (thirdPause) - Type (Closure) - Hash (thirdPause:<sourceID>:34:20)
    - closureVariableInsideThirdPause
  SCOPE: Name (thirdPause) - Type (Closure) - Hash (thirdPause:<sourceID>:34:20)
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name () - Type (Local) - Hash (:<sourceID>:36:14)
    - localVariableInsideAnonymousFunction
  SCOPE: Name (thirdPause) - Type (Closure) - Hash (thirdPause:<sourceID>:34:20)
    - closureVariableInsideThirdPause
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

CALLFRAME: thirdPause

---- Scope Chain ----
  SCOPE: Name (thirdPause) - Type (Closure) - Hash (thirdPause:<sourceID>:34:20)
    - closureVariableInsideThirdPause
  SCOPE: Name (thirdPause) - Type (Closure) - Hash (thirdPause:<sourceID>:34:20)
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name (thirdPause) - Type (Local) - Hash (thirdPause:<sourceID>:34:20)
    - closureVariableInsideThirdPause
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

CALLFRAME: firstPause

---- Scope Chain ----
  SCOPE: Name (firstPause) - Type (Block) - Hash (firstPause:<sourceID>:21:29)
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:21:29)
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:21:29)
    - barVarVariable1
  SCOPE: Name (firstPause) - Type (FunctionName) - Hash (firstPause:<sourceID>:21:29)
    - firstPause
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - fooLexicalVariable2
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name (firstPause) - Type (Block) - Hash (firstPause:<sourceID>:21:29)
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (Local) - Hash (firstPause:<sourceID>:21:29)
    - barVarVariable1
    - barLexicalVariable2
  SCOPE: Name (firstPause) - Type (FunctionName) - Hash (firstPause:<sourceID>:21:29)
    - firstPause
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
    - fooLexicalVariable2
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

CALLFRAME: firstPause

---- Scope Chain ----
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (firstPause) - Type (Closure) - Hash (firstPause:<sourceID>:19:24)
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - fooLexicalVariable2
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name (firstPause) - Type (Local) - Hash (firstPause:<sourceID>:19:24)
    - fakeFirstPauseLexicalVariable
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
    - fooLexicalVariable2
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

CALLFRAME: entry

---- Scope Chain ----
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - fooLexicalVariable2
  SCOPE: Name (entry) - Type (Closure) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()

---- Merged Scope Chain ----
  SCOPE: Name (entry) - Type (Local) - Hash (entry:<sourceID>:14:15)
    - firstPause
    - fooVarVariable1
    - fooLexicalVariable2
  SCOPE: Name () - Type (GlobalLexicalEnvironment) - Hash ()
    - globalLet2
  SCOPE: Name () - Type (Global) - Hash ()


-- Running test case: PausedCallFrameScope.Complete

