| Checking pause locations when stepping in, out, and over misc statements. |
| |
| |
| == Running test suite: Debugger.stepping.misc |
| -- Running test case: Debugger.stepping.DebuggerStatement |
| EXPRESSION: setTimeout(entryDebuggerStatement) |
| STEPS: over, in, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryDebuggerStatement:12:5 |
| 8 } |
| 9 |
| 10 function entryDebuggerStatement() { |
| -> 11 |debugger; |
| 12 debugger; |
| 13 debugger; |
| 14 } |
| |
| ACTION: step-over |
| PAUSE AT entryDebuggerStatement:13:5 |
| 9 |
| 10 function entryDebuggerStatement() { |
| 11 debugger; |
| -> 12 |debugger; |
| 13 debugger; |
| 14 } |
| 15 |
| |
| ACTION: step-in |
| PAUSE AT entryDebuggerStatement:14:5 |
| 10 function entryDebuggerStatement() { |
| 11 debugger; |
| 12 debugger; |
| -> 13 |debugger; |
| 14 } |
| 15 |
| 16 function entryBlockStatement() { |
| |
| ACTION: step-over |
| PAUSE AT entryDebuggerStatement:15:2 |
| 11 debugger; |
| 12 debugger; |
| 13 debugger; |
| -> 14 }| |
| 15 |
| 16 function entryBlockStatement() { |
| 17 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.BlockStatement |
| EXPRESSION: setTimeout(entryBlockStatement) |
| STEPS: over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryBlockStatement:18:5 |
| 14 } |
| 15 |
| 16 function entryBlockStatement() { |
| -> 17 |debugger; |
| 18 { |
| 19 let x = 1; |
| 20 } |
| |
| ACTION: step-over |
| PAUSE AT entryBlockStatement:20:9 |
| 16 function entryBlockStatement() { |
| 17 debugger; |
| 18 { |
| -> 19 |let x = 1; |
| 20 } |
| 21 } |
| 22 |
| |
| ACTION: step-over |
| PAUSE AT entryBlockStatement:22:2 |
| 18 { |
| 19 let x = 1; |
| 20 } |
| -> 21 }| |
| 22 |
| 23 function entryWithStatement() { |
| 24 let o = {x:1, y:2}; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.WithStatement |
| EXPRESSION: setTimeout(entryWithStatement) |
| STEPS: over, over, over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryWithStatement:26:5 |
| 22 |
| 23 function entryWithStatement() { |
| 24 let o = {x:1, y:2}; |
| -> 25 |debugger; |
| 26 with (o) |
| 27 a(); |
| 28 with (o) { |
| |
| ACTION: step-over |
| PAUSE AT entryWithStatement:27:11 |
| 23 function entryWithStatement() { |
| 24 let o = {x:1, y:2}; |
| 25 debugger; |
| -> 26 with (|o) |
| 27 a(); |
| 28 with (o) { |
| 29 a(); |
| |
| ACTION: step-over |
| PAUSE AT entryWithStatement:28:9 |
| 24 let o = {x:1, y:2}; |
| 25 debugger; |
| 26 with (o) |
| -> 27 |a(); |
| 28 with (o) { |
| 29 a(); |
| 30 } |
| |
| ACTION: step-over |
| PAUSE AT entryWithStatement:29:11 |
| 25 debugger; |
| 26 with (o) |
| 27 a(); |
| -> 28 with (|o) { |
| 29 a(); |
| 30 } |
| 31 } |
| |
| ACTION: step-over |
| PAUSE AT entryWithStatement:30:9 |
| 26 with (o) |
| 27 a(); |
| 28 with (o) { |
| -> 29 |a(); |
| 30 } |
| 31 } |
| 32 |
| |
| ACTION: step-over |
| PAUSE AT entryWithStatement:32:2 |
| 28 with (o) { |
| 29 a(); |
| 30 } |
| -> 31 }| |
| 32 |
| 33 function entryLabeledStatement() { |
| 34 let arr = []; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.LabeledStatement |
| EXPRESSION: setTimeout(entryLabeledStatement) |
| STEPS: over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryLabeledStatement:36:5 |
| 32 |
| 33 function entryLabeledStatement() { |
| 34 let arr = []; |
| -> 35 |debugger; |
| 36 label: |
| 37 { |
| 38 arr.push(1); |
| |
| ACTION: step-over |
| PAUSE AT entryLabeledStatement:39:9 |
| 35 debugger; |
| 36 label: |
| 37 { |
| -> 38 |arr.push(1); |
| 39 break label; |
| 40 arr.push(2); |
| 41 } |
| |
| ACTION: step-over |
| PAUSE AT entryLabeledStatement:40:9 |
| 36 label: |
| 37 { |
| 38 arr.push(1); |
| -> 39 |break label; |
| 40 arr.push(2); |
| 41 } |
| 42 } |
| |
| ACTION: step-over |
| PAUSE AT entryLabeledStatement:43:2 |
| 39 break label; |
| 40 arr.push(2); |
| 41 } |
| -> 42 }| |
| 43 |
| 44 function entryLabelBreakLoop() { |
| 45 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.LabelBreakLoop |
| EXPRESSION: setTimeout(entryLabelBreakLoop) |
| STEPS: over, in, in, in, over, over, over, over, over, over, over, over, in, in, in, in, in, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryLabelBreakLoop:46:5 |
| 42 } |
| 43 |
| 44 function entryLabelBreakLoop() { |
| -> 45 |debugger; |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| 48 for (let j = 0; j < 2; ++j) { |
| |
| ACTION: step-over |
| PAUSE AT entryLabelBreakLoop:48:10 |
| 44 function entryLabelBreakLoop() { |
| 45 debugger; |
| 46 outer: |
| -> 47 for (|let i = 0; ; ++i) { |
| 48 for (let j = 0; j < 2; ++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| |
| ACTION: step-in |
| PAUSE AT entryLabelBreakLoop:49:14 |
| 45 debugger; |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| -> 48 for (|let j = 0; j < 2; ++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| 51 a(); |
| |
| ACTION: step-in |
| PAUSE AT entryLabelBreakLoop:49:25 |
| 45 debugger; |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| -> 48 for (let j = 0; |j < 2; ++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| 51 a(); |
| |
| ACTION: step-in |
| PAUSE AT entryLabelBreakLoop:50:17 |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| 48 for (let j = 0; j < 2; ++j) { |
| -> 49 if (|i === 1 && j === 0) |
| 50 break outer; |
| 51 a(); |
| 52 } |
| |
| ACTION: step-over |
| PAUSE AT entryLabelBreakLoop:52:13 |
| 48 for (let j = 0; j < 2; ++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| -> 51 |a(); |
| 52 } |
| 53 } |
| 54 } |
| |
| ACTION: step-over |
| PAUSE AT entryLabelBreakLoop:49:32 |
| 45 debugger; |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| -> 48 for (let j = 0; j < 2; |++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| 51 a(); |
| |
| ACTION: step-over |
| PAUSE AT entryLabelBreakLoop:49:25 |
| 45 debugger; |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| -> 48 for (let j = 0; |j < 2; ++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| 51 a(); |
| |
| ACTION: step-over |
| PAUSE AT entryLabelBreakLoop:50:17 |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| 48 for (let j = 0; j < 2; ++j) { |
| -> 49 if (|i === 1 && j === 0) |
| 50 break outer; |
| 51 a(); |
| 52 } |
| |
| ACTION: step-over |
| PAUSE AT entryLabelBreakLoop:52:13 |
| 48 for (let j = 0; j < 2; ++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| -> 51 |a(); |
| 52 } |
| 53 } |
| 54 } |
| |
| ACTION: step-over |
| PAUSE AT entryLabelBreakLoop:49:32 |
| 45 debugger; |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| -> 48 for (let j = 0; j < 2; |++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| 51 a(); |
| |
| ACTION: step-over |
| PAUSE AT entryLabelBreakLoop:49:25 |
| 45 debugger; |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| -> 48 for (let j = 0; |j < 2; ++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| 51 a(); |
| |
| ACTION: step-over |
| PAUSE AT entryLabelBreakLoop:48:23 |
| 44 function entryLabelBreakLoop() { |
| 45 debugger; |
| 46 outer: |
| -> 47 for (let i = 0; ; |++i) { |
| 48 for (let j = 0; j < 2; ++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| |
| ACTION: step-in |
| PAUSE AT entryLabelBreakLoop:49:14 |
| 45 debugger; |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| -> 48 for (|let j = 0; j < 2; ++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| 51 a(); |
| |
| ACTION: step-in |
| PAUSE AT entryLabelBreakLoop:49:25 |
| 45 debugger; |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| -> 48 for (let j = 0; |j < 2; ++j) { |
| 49 if (i === 1 && j === 0) |
| 50 break outer; |
| 51 a(); |
| |
| ACTION: step-in |
| PAUSE AT entryLabelBreakLoop:50:17 |
| 46 outer: |
| 47 for (let i = 0; ; ++i) { |
| 48 for (let j = 0; j < 2; ++j) { |
| -> 49 if (|i === 1 && j === 0) |
| 50 break outer; |
| 51 a(); |
| 52 } |
| |
| ACTION: step-in |
| PAUSE AT entryLabelBreakLoop:51:17 |
| 47 for (let i = 0; ; ++i) { |
| 48 for (let j = 0; j < 2; ++j) { |
| 49 if (i === 1 && j === 0) |
| -> 50 |break outer; |
| 51 a(); |
| 52 } |
| 53 } |
| |
| ACTION: step-in |
| PAUSE AT entryLabelBreakLoop:55:2 |
| 51 a(); |
| 52 } |
| 53 } |
| -> 54 }| |
| 55 |
| 56 function entryVariableDeclaration() { |
| 57 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.VariableDeclaration |
| EXPRESSION: setTimeout(entryVariableDeclaration) |
| STEPS: over, in, in, in, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryVariableDeclaration:58:5 |
| 54 } |
| 55 |
| 56 function entryVariableDeclaration() { |
| -> 57 |debugger; |
| 58 var a = 1, |
| 59 x = 1; |
| 60 let b = 2, |
| |
| ACTION: step-over |
| PAUSE AT entryVariableDeclaration:59:5 |
| 55 |
| 56 function entryVariableDeclaration() { |
| 57 debugger; |
| -> 58 |var a = 1, |
| 59 x = 1; |
| 60 let b = 2, |
| 61 y = 2; |
| |
| ACTION: step-in |
| PAUSE AT entryVariableDeclaration:61:5 |
| 57 debugger; |
| 58 var a = 1, |
| 59 x = 1; |
| -> 60 |let b = 2, |
| 61 y = 2; |
| 62 const c = 3, |
| 63 z = 3; |
| |
| ACTION: step-in |
| PAUSE AT entryVariableDeclaration:63:5 |
| 59 x = 1; |
| 60 let b = 2, |
| 61 y = 2; |
| -> 62 |const c = 3, |
| 63 z = 3; |
| 64 } |
| 65 |
| |
| ACTION: step-in |
| PAUSE AT entryVariableDeclaration:65:2 |
| 61 y = 2; |
| 62 const c = 3, |
| 63 z = 3; |
| -> 64 }| |
| 65 |
| 66 function entryDestructuring() { |
| 67 var o = {x:1, y:2}; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.Destructuring |
| EXPRESSION: setTimeout(entryDestructuring) |
| STEPS: over, in, in, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryDestructuring:70:5 |
| 66 function entryDestructuring() { |
| 67 var o = {x:1, y:2}; |
| 68 var arr = [1, 2]; |
| -> 69 |debugger; |
| 70 var {x, y} = o; |
| 71 var [w, z] = arr; |
| 72 } |
| |
| ACTION: step-over |
| PAUSE AT entryDestructuring:71:5 |
| 67 var o = {x:1, y:2}; |
| 68 var arr = [1, 2]; |
| 69 debugger; |
| -> 70 |var {x, y} = o; |
| 71 var [w, z] = arr; |
| 72 } |
| 73 |
| |
| ACTION: step-in |
| PAUSE AT entryDestructuring:72:5 |
| 68 var arr = [1, 2]; |
| 69 debugger; |
| 70 var {x, y} = o; |
| -> 71 |var [w, z] = arr; |
| 72 } |
| 73 |
| 74 function entryIfWithDotExpression() { |
| |
| ACTION: step-in |
| PAUSE AT entryDestructuring:73:2 |
| 69 debugger; |
| 70 var {x, y} = o; |
| 71 var [w, z] = arr; |
| -> 72 }| |
| 73 |
| 74 function entryIfWithDotExpression() { |
| 75 var o = {condition: true}; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.IfWithDotExpression |
| EXPRESSION: setTimeout(entryIfWithDotExpression) |
| STEPS: over, in, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryIfWithDotExpression:77:5 |
| 73 |
| 74 function entryIfWithDotExpression() { |
| 75 var o = {condition: true}; |
| -> 76 |debugger; |
| 77 if (o.condition) |
| 78 a(); |
| 79 } |
| |
| ACTION: step-over |
| PAUSE AT entryIfWithDotExpression:78:9 |
| 74 function entryIfWithDotExpression() { |
| 75 var o = {condition: true}; |
| 76 debugger; |
| -> 77 if (|o.condition) |
| 78 a(); |
| 79 } |
| 80 |
| |
| ACTION: step-in |
| PAUSE AT entryIfWithDotExpression:79:9 |
| 75 var o = {condition: true}; |
| 76 debugger; |
| 77 if (o.condition) |
| -> 78 |a(); |
| 79 } |
| 80 |
| 81 function entryIfWithBracketExpression() { |
| |
| ACTION: step-over |
| PAUSE AT entryIfWithDotExpression:80:2 |
| 76 debugger; |
| 77 if (o.condition) |
| 78 a(); |
| -> 79 }| |
| 80 |
| 81 function entryIfWithBracketExpression() { |
| 82 var o = {condition: true}; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.IfWithBracketExpression |
| EXPRESSION: setTimeout(entryIfWithBracketExpression) |
| STEPS: over, in, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryIfWithBracketExpression:84:5 |
| 80 |
| 81 function entryIfWithBracketExpression() { |
| 82 var o = {condition: true}; |
| -> 83 |debugger; |
| 84 if (o["condition"]) |
| 85 a(); |
| 86 } |
| |
| ACTION: step-over |
| PAUSE AT entryIfWithBracketExpression:85:9 |
| 81 function entryIfWithBracketExpression() { |
| 82 var o = {condition: true}; |
| 83 debugger; |
| -> 84 if (|o["condition"]) |
| 85 a(); |
| 86 } |
| 87 |
| |
| ACTION: step-in |
| PAUSE AT entryIfWithBracketExpression:86:9 |
| 82 var o = {condition: true}; |
| 83 debugger; |
| 84 if (o["condition"]) |
| -> 85 |a(); |
| 86 } |
| 87 |
| 88 function entryIfWithTaggedTemplate() { |
| |
| ACTION: step-over |
| PAUSE AT entryIfWithBracketExpression:87:2 |
| 83 debugger; |
| 84 if (o["condition"]) |
| 85 a(); |
| -> 86 }| |
| 87 |
| 88 function entryIfWithTaggedTemplate() { |
| 89 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.IfWithTaggedTemplate |
| EXPRESSION: setTimeout(entryIfWithTaggedTemplate) |
| STEPS: over, in, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryIfWithTaggedTemplate:90:5 |
| 86 } |
| 87 |
| 88 function entryIfWithTaggedTemplate() { |
| -> 89 |debugger; |
| 90 if (String.raw`test`) |
| 91 a(); |
| 92 } |
| |
| ACTION: step-over |
| PAUSE AT entryIfWithTaggedTemplate:91:9 |
| 87 |
| 88 function entryIfWithTaggedTemplate() { |
| 89 debugger; |
| -> 90 if (|String.raw`test`) |
| 91 a(); |
| 92 } |
| 93 |
| |
| ACTION: step-in |
| PAUSE AT entryIfWithTaggedTemplate:92:9 |
| 88 function entryIfWithTaggedTemplate() { |
| 89 debugger; |
| 90 if (String.raw`test`) |
| -> 91 |a(); |
| 92 } |
| 93 |
| 94 |
| |
| ACTION: step-over |
| PAUSE AT entryIfWithTaggedTemplate:93:2 |
| 89 debugger; |
| 90 if (String.raw`test`) |
| 91 a(); |
| -> 92 }| |
| 93 |
| 94 |
| 95 // FIXME: Not Yet Tested |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |