| Checking pause locations when stepping in, out, and over switch statements. |
| |
| |
| == Running test suite: Debugger.stepping.switch |
| -- Running test case: Debugger.stepping.SwitchHitCase |
| EXPRESSION: setTimeout(entrySwitchHitCase) |
| STEPS: over, in, in, over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entrySwitchHitCase:29:5 |
| 25 } |
| 26 |
| 27 function entrySwitchHitCase() { |
| -> 28 |debugger; |
| 29 switcher(1); |
| 30 } |
| 31 |
| |
| ACTION: step-over |
| PAUSE AT entrySwitchHitCase:30:5 |
| 26 |
| 27 function entrySwitchHitCase() { |
| 28 debugger; |
| -> 29 |switcher(1); |
| 30 } |
| 31 |
| 32 function entrySwitchFallthrough() { |
| |
| ACTION: step-in |
| PAUSE AT switcher:12:13 |
| 8 } |
| 9 |
| 10 function switcher(value) { |
| -> 11 switch (|value) { |
| 12 case 1: |
| 13 a(); |
| 14 break; |
| |
| ACTION: step-in |
| PAUSE AT switcher:14:9 |
| 10 function switcher(value) { |
| 11 switch (value) { |
| 12 case 1: |
| -> 13 |a(); |
| 14 break; |
| 15 case 2: |
| 16 a(); |
| |
| ACTION: step-over |
| PAUSE AT switcher:15:9 |
| 11 switch (value) { |
| 12 case 1: |
| 13 a(); |
| -> 14 |break; |
| 15 case 2: |
| 16 a(); |
| 17 // fallthrough |
| |
| ACTION: step-over |
| PAUSE AT switcher:26:2 |
| 22 a(); |
| 23 break; |
| 24 } |
| -> 25 }| |
| 26 |
| 27 function entrySwitchHitCase() { |
| 28 debugger; |
| |
| ACTION: step-over |
| PAUSE AT entrySwitchHitCase:31:2 |
| 27 function entrySwitchHitCase() { |
| 28 debugger; |
| 29 switcher(1); |
| -> 30 }| |
| 31 |
| 32 function entrySwitchFallthrough() { |
| 33 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.SwitchFallthrough |
| EXPRESSION: setTimeout(entrySwitchFallthrough) |
| STEPS: over, in, in, over, over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entrySwitchFallthrough:34:5 |
| 30 } |
| 31 |
| 32 function entrySwitchFallthrough() { |
| -> 33 |debugger; |
| 34 switcher(2); |
| 35 } |
| 36 |
| |
| ACTION: step-over |
| PAUSE AT entrySwitchFallthrough:35:5 |
| 31 |
| 32 function entrySwitchFallthrough() { |
| 33 debugger; |
| -> 34 |switcher(2); |
| 35 } |
| 36 |
| 37 function entrySwitchDefault() { |
| |
| ACTION: step-in |
| PAUSE AT switcher:12:13 |
| 8 } |
| 9 |
| 10 function switcher(value) { |
| -> 11 switch (|value) { |
| 12 case 1: |
| 13 a(); |
| 14 break; |
| |
| ACTION: step-in |
| PAUSE AT switcher:17:9 |
| 13 a(); |
| 14 break; |
| 15 case 2: |
| -> 16 |a(); |
| 17 // fallthrough |
| 18 case 3: |
| 19 a(); |
| |
| ACTION: step-over |
| PAUSE AT switcher:20:9 |
| 16 a(); |
| 17 // fallthrough |
| 18 case 3: |
| -> 19 |a(); |
| 20 break; |
| 21 default: |
| 22 a(); |
| |
| ACTION: step-over |
| PAUSE AT switcher:21:9 |
| 17 // fallthrough |
| 18 case 3: |
| 19 a(); |
| -> 20 |break; |
| 21 default: |
| 22 a(); |
| 23 break; |
| |
| ACTION: step-over |
| PAUSE AT switcher:26:2 |
| 22 a(); |
| 23 break; |
| 24 } |
| -> 25 }| |
| 26 |
| 27 function entrySwitchHitCase() { |
| 28 debugger; |
| |
| ACTION: step-over |
| PAUSE AT entrySwitchFallthrough:36:2 |
| 32 function entrySwitchFallthrough() { |
| 33 debugger; |
| 34 switcher(2); |
| -> 35 }| |
| 36 |
| 37 function entrySwitchDefault() { |
| 38 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.SwitchDefault |
| EXPRESSION: setTimeout(entrySwitchDefault) |
| STEPS: over, in, over, over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entrySwitchDefault:39:5 |
| 35 } |
| 36 |
| 37 function entrySwitchDefault() { |
| -> 38 |debugger; |
| 39 switcher(4); |
| 40 } |
| 41 |
| |
| ACTION: step-over |
| PAUSE AT entrySwitchDefault:40:5 |
| 36 |
| 37 function entrySwitchDefault() { |
| 38 debugger; |
| -> 39 |switcher(4); |
| 40 } |
| 41 |
| 42 function entrySwitchNoCase() { |
| |
| ACTION: step-in |
| PAUSE AT switcher:12:13 |
| 8 } |
| 9 |
| 10 function switcher(value) { |
| -> 11 switch (|value) { |
| 12 case 1: |
| 13 a(); |
| 14 break; |
| |
| ACTION: step-over |
| PAUSE AT switcher:23:9 |
| 19 a(); |
| 20 break; |
| 21 default: |
| -> 22 |a(); |
| 23 break; |
| 24 } |
| 25 } |
| |
| ACTION: step-over |
| PAUSE AT switcher:24:9 |
| 20 break; |
| 21 default: |
| 22 a(); |
| -> 23 |break; |
| 24 } |
| 25 } |
| 26 |
| |
| ACTION: step-over |
| PAUSE AT switcher:26:2 |
| 22 a(); |
| 23 break; |
| 24 } |
| -> 25 }| |
| 26 |
| 27 function entrySwitchHitCase() { |
| 28 debugger; |
| |
| ACTION: step-over |
| PAUSE AT entrySwitchDefault:41:2 |
| 37 function entrySwitchDefault() { |
| 38 debugger; |
| 39 switcher(4); |
| -> 40 }| |
| 41 |
| 42 function entrySwitchNoCase() { |
| 43 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.SwitchStepOut |
| EXPRESSION: setTimeout(entrySwitchHitCase) |
| STEPS: over, in, in, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entrySwitchHitCase:29:5 |
| 25 } |
| 26 |
| 27 function entrySwitchHitCase() { |
| -> 28 |debugger; |
| 29 switcher(1); |
| 30 } |
| 31 |
| |
| ACTION: step-over |
| PAUSE AT entrySwitchHitCase:30:5 |
| 26 |
| 27 function entrySwitchHitCase() { |
| 28 debugger; |
| -> 29 |switcher(1); |
| 30 } |
| 31 |
| 32 function entrySwitchFallthrough() { |
| |
| ACTION: step-in |
| PAUSE AT switcher:12:13 |
| 8 } |
| 9 |
| 10 function switcher(value) { |
| -> 11 switch (|value) { |
| 12 case 1: |
| 13 a(); |
| 14 break; |
| |
| ACTION: step-in |
| PAUSE AT switcher:14:9 |
| 10 function switcher(value) { |
| 11 switch (value) { |
| 12 case 1: |
| -> 13 |a(); |
| 14 break; |
| 15 case 2: |
| 16 a(); |
| |
| ACTION: step-out |
| PAUSE AT entrySwitchHitCase:31:2 |
| 27 function entrySwitchHitCase() { |
| 28 debugger; |
| 29 switcher(1); |
| -> 30 }| |
| 31 |
| 32 function entrySwitchFallthrough() { |
| 33 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.SwitchNoCaseStepIn |
| EXPRESSION: setTimeout(entrySwitchNoCase) |
| STEPS: over, in, in, in, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entrySwitchNoCase:44:5 |
| 40 } |
| 41 |
| 42 function entrySwitchNoCase() { |
| -> 43 |debugger; |
| 44 switch (a()) { |
| 45 case 2: |
| 46 a(); |
| |
| ACTION: step-over |
| PAUSE AT entrySwitchNoCase:45:13 |
| 41 |
| 42 function entrySwitchNoCase() { |
| 43 debugger; |
| -> 44 switch (|a()) { |
| 45 case 2: |
| 46 a(); |
| 47 break; |
| |
| ACTION: step-in |
| PAUSE AT a:8:5 |
| 4 <script src="../resources/log-pause-location.js"></script> |
| 5 <script> |
| 6 function a() { |
| -> 7 |return 1; |
| 8 } |
| 9 |
| 10 function switcher(value) { |
| |
| ACTION: step-in |
| PAUSE AT a:9:2 |
| 5 <script> |
| 6 function a() { |
| 7 return 1; |
| -> 8 }| |
| 9 |
| 10 function switcher(value) { |
| 11 switch (value) { |
| |
| ACTION: step-in |
| PAUSE AT entrySwitchNoCase:50:2 |
| 46 a(); |
| 47 break; |
| 48 } |
| -> 49 }| |
| 50 |
| 51 // --------- |
| 52 |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.SwitchNoCaseStepOver |
| EXPRESSION: setTimeout(entrySwitchNoCase) |
| STEPS: over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entrySwitchNoCase:44:5 |
| 40 } |
| 41 |
| 42 function entrySwitchNoCase() { |
| -> 43 |debugger; |
| 44 switch (a()) { |
| 45 case 2: |
| 46 a(); |
| |
| ACTION: step-over |
| PAUSE AT entrySwitchNoCase:45:13 |
| 41 |
| 42 function entrySwitchNoCase() { |
| 43 debugger; |
| -> 44 switch (|a()) { |
| 45 case 2: |
| 46 a(); |
| 47 break; |
| |
| ACTION: step-over |
| PAUSE AT entrySwitchNoCase:50:2 |
| 46 a(); |
| 47 break; |
| 48 } |
| -> 49 }| |
| 50 |
| 51 // --------- |
| 52 |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |