| Checking pause locations when stepping in, out, and over statements with function calls. |
| |
| |
| == Running test suite: Debugger.stepping.functionCalls |
| -- Running test case: Debugger.stepping.MultipleStatementsOnOneLine1 |
| EXPRESSION: setTimeout(entryMultipleStatementsOnOneLine) |
| STEPS: over, in, out, in, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryMultipleStatementsOnOneLine:20:5 |
| 16 } |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| -> 19 |debugger; |
| 20 a(); b(); |
| 21 } |
| 22 |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleStatementsOnOneLine:21:5 |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| 19 debugger; |
| -> 20 |a(); b(); |
| 21 } |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-out |
| PAUSE AT entryMultipleStatementsOnOneLine:21:10 |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| 19 debugger; |
| -> 20 a(); |b(); |
| 21 } |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| |
| ACTION: step-in |
| PAUSE AT b:16:5 |
| 12 } |
| 13 |
| 14 function b() { |
| -> 15 |return 2; |
| 16 } |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| |
| ACTION: step-out |
| PAUSE AT entryMultipleStatementsOnOneLine:22:2 |
| 18 function entryMultipleStatementsOnOneLine() { |
| 19 debugger; |
| 20 a(); b(); |
| -> 21 }| |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.MultipleStatementsOnOneLine2 |
| EXPRESSION: setTimeout(entryMultipleStatementsOnOneLine) |
| STEPS: over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryMultipleStatementsOnOneLine:20:5 |
| 16 } |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| -> 19 |debugger; |
| 20 a(); b(); |
| 21 } |
| 22 |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleStatementsOnOneLine:21:5 |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| 19 debugger; |
| -> 20 |a(); b(); |
| 21 } |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleStatementsOnOneLine:21:10 |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| 19 debugger; |
| -> 20 a(); |b(); |
| 21 } |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleStatementsOnOneLine:22:2 |
| 18 function entryMultipleStatementsOnOneLine() { |
| 19 debugger; |
| 20 a(); b(); |
| -> 21 }| |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.MultipleCallsInOneStatement1 |
| EXPRESSION: setTimeout(entryMultipleCallsInOneStatement) |
| STEPS: over, in, out, in, out, in, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryMultipleCallsInOneStatement:25:5 |
| 21 } |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| -> 24 |debugger; |
| 25 add(a(), b()); |
| 26 } |
| 27 |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleCallsInOneStatement:26:5 |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| -> 25 |add(a(), b()); |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-out |
| PAUSE AT entryMultipleCallsInOneStatement:26:14 |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| -> 25 add(a(), |b()); |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| |
| ACTION: step-in |
| PAUSE AT b:16:5 |
| 12 } |
| 13 |
| 14 function b() { |
| -> 15 |return 2; |
| 16 } |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| |
| ACTION: step-out |
| PAUSE AT entryMultipleCallsInOneStatement:26:5 |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| -> 25 |add(a(), b()); |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| |
| ACTION: step-in |
| PAUSE AT add:8:5 |
| 4 <script src="../resources/log-pause-location.js"></script> |
| 5 <script> |
| 6 function add(a, b) { |
| -> 7 |return a + b; |
| 8 } |
| 9 |
| 10 function a() { |
| |
| ACTION: step-out |
| PAUSE AT entryMultipleCallsInOneStatement:27:2 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| 25 add(a(), b()); |
| -> 26 }| |
| 27 |
| 28 function entryMultilineStatement() { |
| 29 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.MultipleCallsInOneStatement2 |
| EXPRESSION: setTimeout(entryMultipleCallsInOneStatement) |
| STEPS: over, in, out, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryMultipleCallsInOneStatement:25:5 |
| 21 } |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| -> 24 |debugger; |
| 25 add(a(), b()); |
| 26 } |
| 27 |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleCallsInOneStatement:26:5 |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| -> 25 |add(a(), b()); |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-out |
| PAUSE AT entryMultipleCallsInOneStatement:26:14 |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| -> 25 add(a(), |b()); |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleCallsInOneStatement:27:2 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| 25 add(a(), b()); |
| -> 26 }| |
| 27 |
| 28 function entryMultilineStatement() { |
| 29 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.MultipleCallsInOneStatement3 |
| EXPRESSION: setTimeout(entryMultipleCallsInOneStatement) |
| STEPS: over, in, in, in, in, in, in, in, in, in, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryMultipleCallsInOneStatement:25:5 |
| 21 } |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| -> 24 |debugger; |
| 25 add(a(), b()); |
| 26 } |
| 27 |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleCallsInOneStatement:26:5 |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| -> 25 |add(a(), b()); |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-in |
| PAUSE AT a:13:2 |
| 9 |
| 10 function a() { |
| 11 return 1; |
| -> 12 }| |
| 13 |
| 14 function b() { |
| 15 return 2; |
| |
| ACTION: step-in |
| PAUSE AT entryMultipleCallsInOneStatement:26:14 |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| -> 25 add(a(), |b()); |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| |
| ACTION: step-in |
| PAUSE AT b:16:5 |
| 12 } |
| 13 |
| 14 function b() { |
| -> 15 |return 2; |
| 16 } |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| |
| ACTION: step-in |
| PAUSE AT b:17:2 |
| 13 |
| 14 function b() { |
| 15 return 2; |
| -> 16 }| |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| 19 debugger; |
| |
| ACTION: step-in |
| PAUSE AT entryMultipleCallsInOneStatement:26:5 |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| -> 25 |add(a(), b()); |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| |
| ACTION: step-in |
| PAUSE AT add:8:5 |
| 4 <script src="../resources/log-pause-location.js"></script> |
| 5 <script> |
| 6 function add(a, b) { |
| -> 7 |return a + b; |
| 8 } |
| 9 |
| 10 function a() { |
| |
| ACTION: step-in |
| PAUSE AT add:9:2 |
| 5 <script> |
| 6 function add(a, b) { |
| 7 return a + b; |
| -> 8 }| |
| 9 |
| 10 function a() { |
| 11 return 1; |
| |
| ACTION: step-in |
| PAUSE AT entryMultipleCallsInOneStatement:27:2 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| 25 add(a(), b()); |
| -> 26 }| |
| 27 |
| 28 function entryMultilineStatement() { |
| 29 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.MultipleCallsInOneStatement4 |
| EXPRESSION: setTimeout(entryMultipleCallsInOneStatement) |
| STEPS: over, in, over, over, in, over, over, in, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryMultipleCallsInOneStatement:25:5 |
| 21 } |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| -> 24 |debugger; |
| 25 add(a(), b()); |
| 26 } |
| 27 |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleCallsInOneStatement:26:5 |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| -> 25 |add(a(), b()); |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-over |
| PAUSE AT a:13:2 |
| 9 |
| 10 function a() { |
| 11 return 1; |
| -> 12 }| |
| 13 |
| 14 function b() { |
| 15 return 2; |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleCallsInOneStatement:26:14 |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| -> 25 add(a(), |b()); |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| |
| ACTION: step-in |
| PAUSE AT b:16:5 |
| 12 } |
| 13 |
| 14 function b() { |
| -> 15 |return 2; |
| 16 } |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| |
| ACTION: step-over |
| PAUSE AT b:17:2 |
| 13 |
| 14 function b() { |
| 15 return 2; |
| -> 16 }| |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| 19 debugger; |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleCallsInOneStatement:26:5 |
| 22 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| -> 25 |add(a(), b()); |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| |
| ACTION: step-in |
| PAUSE AT add:8:5 |
| 4 <script src="../resources/log-pause-location.js"></script> |
| 5 <script> |
| 6 function add(a, b) { |
| -> 7 |return a + b; |
| 8 } |
| 9 |
| 10 function a() { |
| |
| ACTION: step-over |
| PAUSE AT add:9:2 |
| 5 <script> |
| 6 function add(a, b) { |
| 7 return a + b; |
| -> 8 }| |
| 9 |
| 10 function a() { |
| 11 return 1; |
| |
| ACTION: step-over |
| PAUSE AT entryMultipleCallsInOneStatement:27:2 |
| 23 function entryMultipleCallsInOneStatement() { |
| 24 debugger; |
| 25 add(a(), b()); |
| -> 26 }| |
| 27 |
| 28 function entryMultilineStatement() { |
| 29 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.MultipleCallsInOneStatement5 |
| EXPRESSION: setTimeout(entryMultilineStatement) |
| STEPS: over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryMultilineStatement:30:5 |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| -> 29 |debugger; |
| 30 add( |
| 31 a() |
| 32 , |
| |
| ACTION: step-over |
| PAUSE AT entryMultilineStatement:31:5 |
| 27 |
| 28 function entryMultilineStatement() { |
| 29 debugger; |
| -> 30 |add( |
| 31 a() |
| 32 , |
| 33 b() |
| |
| ACTION: step-over |
| PAUSE AT entryMultilineStatement:36:2 |
| 32 , |
| 33 b() |
| 34 ); |
| -> 35 }| |
| 36 |
| 37 function entryComplexLine() { |
| 38 var x; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.MultipleCallsInOneStatement6 |
| EXPRESSION: setTimeout(entryMultilineStatement) |
| STEPS: over, in, out, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryMultilineStatement:30:5 |
| 26 } |
| 27 |
| 28 function entryMultilineStatement() { |
| -> 29 |debugger; |
| 30 add( |
| 31 a() |
| 32 , |
| |
| ACTION: step-over |
| PAUSE AT entryMultilineStatement:31:5 |
| 27 |
| 28 function entryMultilineStatement() { |
| 29 debugger; |
| -> 30 |add( |
| 31 a() |
| 32 , |
| 33 b() |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-out |
| PAUSE AT entryMultilineStatement:34:9 |
| 30 add( |
| 31 a() |
| 32 , |
| -> 33 |b() |
| 34 ); |
| 35 } |
| 36 |
| |
| ACTION: step-over |
| PAUSE AT entryMultilineStatement:36:2 |
| 32 , |
| 33 b() |
| 34 ); |
| -> 35 }| |
| 36 |
| 37 function entryComplexLine() { |
| 38 var x; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.ComplexLine1 |
| EXPRESSION: setTimeout(entryComplexLine) |
| STEPS: over, in, out, in, in, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryComplexLine:40:5 |
| 36 |
| 37 function entryComplexLine() { |
| 38 var x; |
| -> 39 |debugger; |
| 40 a(); x = 1; b(); |
| 41 } |
| 42 |
| |
| ACTION: step-over |
| PAUSE AT entryComplexLine:41:5 |
| 37 function entryComplexLine() { |
| 38 var x; |
| 39 debugger; |
| -> 40 |a(); x = 1; b(); |
| 41 } |
| 42 |
| 43 function entryComplexStatement() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-out |
| PAUSE AT entryComplexLine:41:10 |
| 37 function entryComplexLine() { |
| 38 var x; |
| 39 debugger; |
| -> 40 a(); |x = 1; b(); |
| 41 } |
| 42 |
| 43 function entryComplexStatement() { |
| |
| ACTION: step-in |
| PAUSE AT entryComplexLine:41:17 |
| 37 function entryComplexLine() { |
| 38 var x; |
| 39 debugger; |
| -> 40 a(); x = 1; |b(); |
| 41 } |
| 42 |
| 43 function entryComplexStatement() { |
| |
| ACTION: step-in |
| PAUSE AT b:16:5 |
| 12 } |
| 13 |
| 14 function b() { |
| -> 15 |return 2; |
| 16 } |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| |
| ACTION: step-out |
| PAUSE AT entryComplexLine:42:2 |
| 38 var x; |
| 39 debugger; |
| 40 a(); x = 1; b(); |
| -> 41 }| |
| 42 |
| 43 function entryComplexStatement() { |
| 44 var x; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.ComplexLine2 |
| EXPRESSION: setTimeout(entryComplexLine) |
| STEPS: over, over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryComplexLine:40:5 |
| 36 |
| 37 function entryComplexLine() { |
| 38 var x; |
| -> 39 |debugger; |
| 40 a(); x = 1; b(); |
| 41 } |
| 42 |
| |
| ACTION: step-over |
| PAUSE AT entryComplexLine:41:5 |
| 37 function entryComplexLine() { |
| 38 var x; |
| 39 debugger; |
| -> 40 |a(); x = 1; b(); |
| 41 } |
| 42 |
| 43 function entryComplexStatement() { |
| |
| ACTION: step-over |
| PAUSE AT entryComplexLine:41:10 |
| 37 function entryComplexLine() { |
| 38 var x; |
| 39 debugger; |
| -> 40 a(); |x = 1; b(); |
| 41 } |
| 42 |
| 43 function entryComplexStatement() { |
| |
| ACTION: step-over |
| PAUSE AT entryComplexLine:41:17 |
| 37 function entryComplexLine() { |
| 38 var x; |
| 39 debugger; |
| -> 40 a(); x = 1; |b(); |
| 41 } |
| 42 |
| 43 function entryComplexStatement() { |
| |
| ACTION: step-over |
| PAUSE AT entryComplexLine:42:2 |
| 38 var x; |
| 39 debugger; |
| 40 a(); x = 1; b(); |
| -> 41 }| |
| 42 |
| 43 function entryComplexStatement() { |
| 44 var x; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.ComplexStatement1 |
| EXPRESSION: setTimeout(entryComplexStatement) |
| STEPS: over, in, out, in, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryComplexStatement:46:5 |
| 42 |
| 43 function entryComplexStatement() { |
| 44 var x; |
| -> 45 |debugger; |
| 46 add(a(), x = 1, b()); |
| 47 } |
| 48 |
| |
| ACTION: step-over |
| PAUSE AT entryComplexStatement:47:5 |
| 43 function entryComplexStatement() { |
| 44 var x; |
| 45 debugger; |
| -> 46 |add(a(), x = 1, b()); |
| 47 } |
| 48 |
| 49 function entryCommaExpression() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-out |
| PAUSE AT entryComplexStatement:47:21 |
| 43 function entryComplexStatement() { |
| 44 var x; |
| 45 debugger; |
| -> 46 add(a(), x = 1, |b()); |
| 47 } |
| 48 |
| 49 function entryCommaExpression() { |
| |
| ACTION: step-in |
| PAUSE AT b:16:5 |
| 12 } |
| 13 |
| 14 function b() { |
| -> 15 |return 2; |
| 16 } |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| |
| ACTION: step-out |
| PAUSE AT entryComplexStatement:47:5 |
| 43 function entryComplexStatement() { |
| 44 var x; |
| 45 debugger; |
| -> 46 |add(a(), x = 1, b()); |
| 47 } |
| 48 |
| 49 function entryCommaExpression() { |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.ComplexStatement2 |
| EXPRESSION: setTimeout(entryCommaExpression) |
| STEPS: over, in, out, in, out, in, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryCommaExpression:51:5 |
| 47 } |
| 48 |
| 49 function entryCommaExpression() { |
| -> 50 |debugger; |
| 51 a(), b(), a(); |
| 52 } |
| 53 |
| |
| ACTION: step-over |
| PAUSE AT entryCommaExpression:52:5 |
| 48 |
| 49 function entryCommaExpression() { |
| 50 debugger; |
| -> 51 |a(), b(), a(); |
| 52 } |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-out |
| PAUSE AT entryCommaExpression:52:10 |
| 48 |
| 49 function entryCommaExpression() { |
| 50 debugger; |
| -> 51 a(), |b(), a(); |
| 52 } |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| |
| ACTION: step-in |
| PAUSE AT b:16:5 |
| 12 } |
| 13 |
| 14 function b() { |
| -> 15 |return 2; |
| 16 } |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| |
| ACTION: step-out |
| PAUSE AT entryCommaExpression:52:15 |
| 48 |
| 49 function entryCommaExpression() { |
| 50 debugger; |
| -> 51 a(), b(), |a(); |
| 52 } |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-out |
| PAUSE AT entryCommaExpression:53:2 |
| 49 function entryCommaExpression() { |
| 50 debugger; |
| 51 a(), b(), a(); |
| -> 52 }| |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| 55 var o = {x:{x:{a}}}; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.ComplexStatement3 |
| EXPRESSION: setTimeout(entryCommaExpression) |
| STEPS: over, in, in, in, in, over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryCommaExpression:51:5 |
| 47 } |
| 48 |
| 49 function entryCommaExpression() { |
| -> 50 |debugger; |
| 51 a(), b(), a(); |
| 52 } |
| 53 |
| |
| ACTION: step-over |
| PAUSE AT entryCommaExpression:52:5 |
| 48 |
| 49 function entryCommaExpression() { |
| 50 debugger; |
| -> 51 |a(), b(), a(); |
| 52 } |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-in |
| PAUSE AT a:13:2 |
| 9 |
| 10 function a() { |
| 11 return 1; |
| -> 12 }| |
| 13 |
| 14 function b() { |
| 15 return 2; |
| |
| ACTION: step-in |
| PAUSE AT entryCommaExpression:52:10 |
| 48 |
| 49 function entryCommaExpression() { |
| 50 debugger; |
| -> 51 a(), |b(), a(); |
| 52 } |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| |
| ACTION: step-in |
| PAUSE AT b:16:5 |
| 12 } |
| 13 |
| 14 function b() { |
| -> 15 |return 2; |
| 16 } |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| |
| ACTION: step-over |
| PAUSE AT b:17:2 |
| 13 |
| 14 function b() { |
| 15 return 2; |
| -> 16 }| |
| 17 |
| 18 function entryMultipleStatementsOnOneLine() { |
| 19 debugger; |
| |
| ACTION: step-over |
| PAUSE AT entryCommaExpression:52:15 |
| 48 |
| 49 function entryCommaExpression() { |
| 50 debugger; |
| -> 51 a(), b(), |a(); |
| 52 } |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| |
| ACTION: step-over |
| PAUSE AT entryCommaExpression:53:2 |
| 49 function entryCommaExpression() { |
| 50 debugger; |
| 51 a(), b(), a(); |
| -> 52 }| |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| 55 var o = {x:{x:{a}}}; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.ComplexStatement4 |
| EXPRESSION: setTimeout(entryCommaExpression) |
| STEPS: over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryCommaExpression:51:5 |
| 47 } |
| 48 |
| 49 function entryCommaExpression() { |
| -> 50 |debugger; |
| 51 a(), b(), a(); |
| 52 } |
| 53 |
| |
| ACTION: step-over |
| PAUSE AT entryCommaExpression:52:5 |
| 48 |
| 49 function entryCommaExpression() { |
| 50 debugger; |
| -> 51 |a(), b(), a(); |
| 52 } |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| |
| ACTION: step-over |
| PAUSE AT entryCommaExpression:53:2 |
| 49 function entryCommaExpression() { |
| 50 debugger; |
| 51 a(), b(), a(); |
| -> 52 }| |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| 55 var o = {x:{x:{a}}}; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.DotPropertyAccessCallStepIn |
| EXPRESSION: setTimeout(entryDotPropertyAccessCall) |
| STEPS: over, in, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryDotPropertyAccessCall:57:5 |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| 55 var o = {x:{x:{a}}}; |
| -> 56 |debugger; |
| 57 o.x.x.a(); |
| 58 } |
| 59 |
| |
| ACTION: step-over |
| PAUSE AT entryDotPropertyAccessCall:58:5 |
| 54 function entryDotPropertyAccessCall() { |
| 55 var o = {x:{x:{a}}}; |
| 56 debugger; |
| -> 57 |o.x.x.a(); |
| 58 } |
| 59 |
| 60 function entryBracketPropertyAccessCall() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-out |
| PAUSE AT entryDotPropertyAccessCall:59:2 |
| 55 var o = {x:{x:{a}}}; |
| 56 debugger; |
| 57 o.x.x.a(); |
| -> 58 }| |
| 59 |
| 60 function entryBracketPropertyAccessCall() { |
| 61 var o = {x:{x:{a}}}; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.DotPropertyAccessCallStepOver |
| EXPRESSION: setTimeout(entryDotPropertyAccessCall) |
| STEPS: over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryDotPropertyAccessCall:57:5 |
| 53 |
| 54 function entryDotPropertyAccessCall() { |
| 55 var o = {x:{x:{a}}}; |
| -> 56 |debugger; |
| 57 o.x.x.a(); |
| 58 } |
| 59 |
| |
| ACTION: step-over |
| PAUSE AT entryDotPropertyAccessCall:58:5 |
| 54 function entryDotPropertyAccessCall() { |
| 55 var o = {x:{x:{a}}}; |
| 56 debugger; |
| -> 57 |o.x.x.a(); |
| 58 } |
| 59 |
| 60 function entryBracketPropertyAccessCall() { |
| |
| ACTION: step-over |
| PAUSE AT entryDotPropertyAccessCall:59:2 |
| 55 var o = {x:{x:{a}}}; |
| 56 debugger; |
| 57 o.x.x.a(); |
| -> 58 }| |
| 59 |
| 60 function entryBracketPropertyAccessCall() { |
| 61 var o = {x:{x:{a}}}; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.BracketPropertyAccessCallStepIn |
| EXPRESSION: setTimeout(entryBracketPropertyAccessCall) |
| STEPS: over, in, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryBracketPropertyAccessCall:63:5 |
| 59 |
| 60 function entryBracketPropertyAccessCall() { |
| 61 var o = {x:{x:{a}}}; |
| -> 62 |debugger; |
| 63 o['x']['x']['a'](); |
| 64 } |
| 65 |
| |
| ACTION: step-over |
| PAUSE AT entryBracketPropertyAccessCall:64:5 |
| 60 function entryBracketPropertyAccessCall() { |
| 61 var o = {x:{x:{a}}}; |
| 62 debugger; |
| -> 63 |o['x']['x']['a'](); |
| 64 } |
| 65 |
| 66 function entryUseCall() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-out |
| PAUSE AT entryBracketPropertyAccessCall:65:2 |
| 61 var o = {x:{x:{a}}}; |
| 62 debugger; |
| 63 o['x']['x']['a'](); |
| -> 64 }| |
| 65 |
| 66 function entryUseCall() { |
| 67 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.FunctionPrototypeCallStepIn |
| EXPRESSION: setTimeout(entryUseCall) |
| STEPS: over, in, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryUseCall:68:5 |
| 64 } |
| 65 |
| 66 function entryUseCall() { |
| -> 67 |debugger; |
| 68 add.call(null, 1, 2); |
| 69 } |
| 70 |
| |
| ACTION: step-over |
| PAUSE AT entryUseCall:69:5 |
| 65 |
| 66 function entryUseCall() { |
| 67 debugger; |
| -> 68 |add.call(null, 1, 2); |
| 69 } |
| 70 |
| 71 function entryUseApply() { |
| |
| ACTION: step-in |
| PAUSE AT add:8:5 |
| 4 <script src="../resources/log-pause-location.js"></script> |
| 5 <script> |
| 6 function add(a, b) { |
| -> 7 |return a + b; |
| 8 } |
| 9 |
| 10 function a() { |
| |
| ACTION: step-out |
| PAUSE AT entryUseCall:70:2 |
| 66 function entryUseCall() { |
| 67 debugger; |
| 68 add.call(null, 1, 2); |
| -> 69 }| |
| 70 |
| 71 function entryUseApply() { |
| 72 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.FunctionPrototypeApplyStepIn |
| EXPRESSION: setTimeout(entryUseApply) |
| STEPS: over, in, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryUseApply:73:5 |
| 69 } |
| 70 |
| 71 function entryUseApply() { |
| -> 72 |debugger; |
| 73 a.apply(null, [1, 2]); |
| 74 } |
| 75 |
| |
| ACTION: step-over |
| PAUSE AT entryUseApply:74:5 |
| 70 |
| 71 function entryUseApply() { |
| 72 debugger; |
| -> 73 |a.apply(null, [1, 2]); |
| 74 } |
| 75 |
| 76 function entryAnonymousFunctionInvocation() { |
| |
| ACTION: step-in |
| PAUSE AT a:12:5 |
| 8 } |
| 9 |
| 10 function a() { |
| -> 11 |return 1; |
| 12 } |
| 13 |
| 14 function b() { |
| |
| ACTION: step-out |
| PAUSE AT entryUseApply:75:2 |
| 71 function entryUseApply() { |
| 72 debugger; |
| 73 a.apply(null, [1, 2]); |
| -> 74 }| |
| 75 |
| 76 function entryAnonymousFunctionInvocation() { |
| 77 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.AnonymousFunctionInvocationStepOver |
| EXPRESSION: setTimeout(entryAnonymousFunctionInvocation) |
| STEPS: over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryAnonymousFunctionInvocation:78:5 |
| 74 } |
| 75 |
| 76 function entryAnonymousFunctionInvocation() { |
| -> 77 |debugger; |
| 78 (function() { |
| 79 a(); |
| 80 })(); |
| |
| ACTION: step-over |
| PAUSE AT entryAnonymousFunctionInvocation:79:5 |
| 75 |
| 76 function entryAnonymousFunctionInvocation() { |
| 77 debugger; |
| -> 78 |(function() { |
| 79 a(); |
| 80 })(); |
| 81 } |
| |
| ACTION: step-over |
| PAUSE AT entryAnonymousFunctionInvocation:82:2 |
| 78 (function() { |
| 79 a(); |
| 80 })(); |
| -> 81 }| |
| 82 |
| 83 function entryFunctionWithConditionalReturn() { |
| 84 function testCondition(condition) { |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.AnonymousFunctionInvocationStepOver |
| EXPRESSION: setTimeout(entryAnonymousFunctionInvocation) |
| STEPS: over, in, over, in, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryAnonymousFunctionInvocation:78:5 |
| 74 } |
| 75 |
| 76 function entryAnonymousFunctionInvocation() { |
| -> 77 |debugger; |
| 78 (function() { |
| 79 a(); |
| 80 })(); |
| |
| ACTION: step-over |
| PAUSE AT entryAnonymousFunctionInvocation:79:5 |
| 75 |
| 76 function entryAnonymousFunctionInvocation() { |
| 77 debugger; |
| -> 78 |(function() { |
| 79 a(); |
| 80 })(); |
| 81 } |
| |
| ACTION: step-in |
| PAUSE AT <anonymous>:80:9 |
| 76 function entryAnonymousFunctionInvocation() { |
| 77 debugger; |
| 78 (function() { |
| -> 79 |a(); |
| 80 })(); |
| 81 } |
| 82 |
| |
| ACTION: step-over |
| PAUSE AT <anonymous>:81:6 |
| 77 debugger; |
| 78 (function() { |
| 79 a(); |
| -> 80 }|)(); |
| 81 } |
| 82 |
| 83 function entryFunctionWithConditionalReturn() { |
| |
| ACTION: step-in |
| PAUSE AT entryAnonymousFunctionInvocation:82:2 |
| 78 (function() { |
| 79 a(); |
| 80 })(); |
| -> 81 }| |
| 82 |
| 83 function entryFunctionWithConditionalReturn() { |
| 84 function testCondition(condition) { |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.FunctionWithConditionalReturn |
| EXPRESSION: setTimeout(entryFunctionWithConditionalReturn) |
| STEPS: over, in, in, in, in, in, in, in, in, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryFunctionWithConditionalReturn:90:5 |
| 86 return true; |
| 87 return false; |
| 88 } |
| -> 89 |debugger; |
| 90 testCondition(true); |
| 91 testCondition(false); |
| 92 } |
| |
| ACTION: step-over |
| PAUSE AT entryFunctionWithConditionalReturn:91:5 |
| 87 return false; |
| 88 } |
| 89 debugger; |
| -> 90 |testCondition(true); |
| 91 testCondition(false); |
| 92 } |
| 93 |
| |
| ACTION: step-in |
| PAUSE AT testCondition:86:13 |
| 82 |
| 83 function entryFunctionWithConditionalReturn() { |
| 84 function testCondition(condition) { |
| -> 85 if (|condition) |
| 86 return true; |
| 87 return false; |
| 88 } |
| |
| ACTION: step-in |
| PAUSE AT testCondition:87:13 |
| 83 function entryFunctionWithConditionalReturn() { |
| 84 function testCondition(condition) { |
| 85 if (condition) |
| -> 86 |return true; |
| 87 return false; |
| 88 } |
| 89 debugger; |
| |
| ACTION: step-in |
| PAUSE AT testCondition:89:6 |
| 85 if (condition) |
| 86 return true; |
| 87 return false; |
| -> 88 }| |
| 89 debugger; |
| 90 testCondition(true); |
| 91 testCondition(false); |
| |
| ACTION: step-in |
| PAUSE AT entryFunctionWithConditionalReturn:92:5 |
| 88 } |
| 89 debugger; |
| 90 testCondition(true); |
| -> 91 |testCondition(false); |
| 92 } |
| 93 |
| 94 function entryEmptyFunction() { |
| |
| ACTION: step-in |
| PAUSE AT testCondition:86:13 |
| 82 |
| 83 function entryFunctionWithConditionalReturn() { |
| 84 function testCondition(condition) { |
| -> 85 if (|condition) |
| 86 return true; |
| 87 return false; |
| 88 } |
| |
| ACTION: step-in |
| PAUSE AT testCondition:88:9 |
| 84 function testCondition(condition) { |
| 85 if (condition) |
| 86 return true; |
| -> 87 |return false; |
| 88 } |
| 89 debugger; |
| 90 testCondition(true); |
| |
| ACTION: step-in |
| PAUSE AT testCondition:89:6 |
| 85 if (condition) |
| 86 return true; |
| 87 return false; |
| -> 88 }| |
| 89 debugger; |
| 90 testCondition(true); |
| 91 testCondition(false); |
| |
| ACTION: step-in |
| PAUSE AT entryFunctionWithConditionalReturn:93:2 |
| 89 debugger; |
| 90 testCondition(true); |
| 91 testCondition(false); |
| -> 92 }| |
| 93 |
| 94 function entryEmptyFunction() { |
| 95 function emptyFunction() { } |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.EmptyFunction |
| EXPRESSION: setTimeout(entryEmptyFunction) |
| STEPS: over, in, in, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryEmptyFunction:97:5 |
| 93 |
| 94 function entryEmptyFunction() { |
| 95 function emptyFunction() { } |
| -> 96 |debugger; |
| 97 emptyFunction(); |
| 98 } |
| 99 |
| |
| ACTION: step-over |
| PAUSE AT entryEmptyFunction:98:5 |
| 94 function entryEmptyFunction() { |
| 95 function emptyFunction() { } |
| 96 debugger; |
| -> 97 |emptyFunction(); |
| 98 } |
| 99 |
| 100 // --------- |
| |
| ACTION: step-in |
| PAUSE AT emptyFunction:96:33 |
| 92 } |
| 93 |
| 94 function entryEmptyFunction() { |
| -> 95 function emptyFunction() { }| |
| 96 debugger; |
| 97 emptyFunction(); |
| 98 } |
| |
| ACTION: step-in |
| PAUSE AT entryEmptyFunction:99:2 |
| 95 function emptyFunction() { } |
| 96 debugger; |
| 97 emptyFunction(); |
| -> 98 }| |
| 99 |
| 100 // --------- |
| 101 |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |