| Checking pause locations when stepping in, out, and over class constructors and methods. |
| |
| |
| == Running test suite: Debugger.stepping.classes |
| -- Running test case: Debugger.stepping.ClassBasicStepOver |
| EXPRESSION: setTimeout(entryClassBasic) |
| STEPS: over, over, over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryClassBasic:58:5 |
| 54 class Child2 extends Base {}; |
| 55 |
| 56 function entryClassBasic() { |
| -> 57 |debugger; |
| 58 let o = new Child; |
| 59 o.baseMethod(); |
| 60 o.childMethod(); |
| |
| ACTION: step-over |
| PAUSE AT entryClassBasic:59:5 |
| 55 |
| 56 function entryClassBasic() { |
| 57 debugger; |
| -> 58 |let o = new Child; |
| 59 o.baseMethod(); |
| 60 o.childMethod(); |
| 61 o.method(); |
| |
| ACTION: step-over |
| PAUSE AT entryClassBasic:60:5 |
| 56 function entryClassBasic() { |
| 57 debugger; |
| 58 let o = new Child; |
| -> 59 |o.baseMethod(); |
| 60 o.childMethod(); |
| 61 o.method(); |
| 62 } |
| |
| ACTION: step-over |
| PAUSE AT entryClassBasic:61:5 |
| 57 debugger; |
| 58 let o = new Child; |
| 59 o.baseMethod(); |
| -> 60 |o.childMethod(); |
| 61 o.method(); |
| 62 } |
| 63 |
| |
| ACTION: step-over |
| PAUSE AT entryClassBasic:62:5 |
| 58 let o = new Child; |
| 59 o.baseMethod(); |
| 60 o.childMethod(); |
| -> 61 |o.method(); |
| 62 } |
| 63 |
| 64 function entryClassDefaultConstructor() { |
| |
| ACTION: step-over |
| PAUSE AT entryClassBasic:63:2 |
| 59 o.baseMethod(); |
| 60 o.childMethod(); |
| 61 o.method(); |
| -> 62 }| |
| 63 |
| 64 function entryClassDefaultConstructor() { |
| 65 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.ClassBasicStepIn |
| EXPRESSION: setTimeout(entryClassBasic) |
| STEPS: over, in, in, out, over, over, in, out, in, out, in, in, out, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryClassBasic:58:5 |
| 54 class Child2 extends Base {}; |
| 55 |
| 56 function entryClassBasic() { |
| -> 57 |debugger; |
| 58 let o = new Child; |
| 59 o.baseMethod(); |
| 60 o.childMethod(); |
| |
| ACTION: step-over |
| PAUSE AT entryClassBasic:59:5 |
| 55 |
| 56 function entryClassBasic() { |
| 57 debugger; |
| -> 58 |let o = new Child; |
| 59 o.baseMethod(); |
| 60 o.childMethod(); |
| 61 o.method(); |
| |
| ACTION: step-in |
| PAUSE AT Child:35:9 |
| 31 class Child extends Base { |
| 32 constructor() |
| 33 { |
| -> 34 |super(); |
| 35 this._child = true; |
| 36 } |
| 37 |
| |
| ACTION: step-in |
| PAUSE AT Base:18:9 |
| 14 class Base { |
| 15 constructor() |
| 16 { |
| -> 17 |this._base = true; |
| 18 } |
| 19 |
| 20 baseMethod() |
| |
| ACTION: step-out |
| PAUSE AT Child:36:9 |
| 32 constructor() |
| 33 { |
| 34 super(); |
| -> 35 |this._child = true; |
| 36 } |
| 37 |
| 38 childMethod() |
| |
| ACTION: step-over |
| PAUSE AT Child:37:6 |
| 33 { |
| 34 super(); |
| 35 this._child = true; |
| -> 36 }| |
| 37 |
| 38 childMethod() |
| 39 { |
| |
| ACTION: step-over |
| PAUSE AT entryClassBasic:60:5 |
| 56 function entryClassBasic() { |
| 57 debugger; |
| 58 let o = new Child; |
| -> 59 |o.baseMethod(); |
| 60 o.childMethod(); |
| 61 o.method(); |
| 62 } |
| |
| ACTION: step-in |
| PAUSE AT baseMethod:23:9 |
| 19 |
| 20 baseMethod() |
| 21 { |
| -> 22 |a(); |
| 23 } |
| 24 |
| 25 method() |
| |
| ACTION: step-out |
| PAUSE AT entryClassBasic:61:5 |
| 57 debugger; |
| 58 let o = new Child; |
| 59 o.baseMethod(); |
| -> 60 |o.childMethod(); |
| 61 o.method(); |
| 62 } |
| 63 |
| |
| ACTION: step-in |
| PAUSE AT childMethod:41:9 |
| 37 |
| 38 childMethod() |
| 39 { |
| -> 40 |b(); |
| 41 } |
| 42 |
| 43 method() |
| |
| ACTION: step-out |
| PAUSE AT entryClassBasic:62:5 |
| 58 let o = new Child; |
| 59 o.baseMethod(); |
| 60 o.childMethod(); |
| -> 61 |o.method(); |
| 62 } |
| 63 |
| 64 function entryClassDefaultConstructor() { |
| |
| ACTION: step-in |
| PAUSE AT method:46:9 |
| 42 |
| 43 method() |
| 44 { |
| -> 45 |super.method(); |
| 46 b(); |
| 47 } |
| 48 |
| |
| ACTION: step-in |
| PAUSE AT method:28:9 |
| 24 |
| 25 method() |
| 26 { |
| -> 27 |a(); |
| 28 } |
| 29 } |
| 30 |
| |
| ACTION: step-out |
| PAUSE AT method:47:9 |
| 43 method() |
| 44 { |
| 45 super.method(); |
| -> 46 |b(); |
| 47 } |
| 48 |
| 49 get name() { return this._name; } |
| |
| ACTION: step-out |
| PAUSE AT entryClassBasic:63:2 |
| 59 o.baseMethod(); |
| 60 o.childMethod(); |
| 61 o.method(); |
| -> 62 }| |
| 63 |
| 64 function entryClassDefaultConstructor() { |
| 65 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.ClassDefaultConstructor |
| EXPRESSION: setTimeout(entryClassDefaultConstructor) |
| STEPS: over, in, in, out, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryClassDefaultConstructor:66:5 |
| 62 } |
| 63 |
| 64 function entryClassDefaultConstructor() { |
| -> 65 |debugger; |
| 66 let o = new Child2; |
| 67 } |
| 68 |
| |
| ACTION: step-over |
| PAUSE AT entryClassDefaultConstructor:67:5 |
| 63 |
| 64 function entryClassDefaultConstructor() { |
| 65 debugger; |
| -> 66 |let o = new Child2; |
| 67 } |
| 68 |
| 69 function entryClassGetterSetter() { |
| |
| ACTION: step-in |
| PAUSE AT Child2:1:23 |
| --- Source Unavailable --- |
| |
| ACTION: step-in |
| PAUSE AT Base:18:9 |
| 14 class Base { |
| 15 constructor() |
| 16 { |
| -> 17 |this._base = true; |
| 18 } |
| 19 |
| 20 baseMethod() |
| |
| ACTION: step-out |
| PAUSE AT Child2:1:40 |
| --- Source Unavailable --- |
| |
| ACTION: step-out |
| PAUSE AT entryClassDefaultConstructor:68:2 |
| 64 function entryClassDefaultConstructor() { |
| 65 debugger; |
| 66 let o = new Child2; |
| -> 67 }| |
| 68 |
| 69 function entryClassGetterSetter() { |
| 70 let o = new Child; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.ClassGetterSetter |
| EXPRESSION: setTimeout(entryClassGetterSetter) |
| STEPS: over, in, out, in, out, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryClassGetterSetter:72:5 |
| 68 |
| 69 function entryClassGetterSetter() { |
| 70 let o = new Child; |
| -> 71 |debugger; |
| 72 var name = o.name; |
| 73 o.name = "Name"; |
| 74 } |
| |
| ACTION: step-over |
| PAUSE AT entryClassGetterSetter:73:5 |
| 69 function entryClassGetterSetter() { |
| 70 let o = new Child; |
| 71 debugger; |
| -> 72 |var name = o.name; |
| 73 o.name = "Name"; |
| 74 } |
| 75 |
| |
| ACTION: step-in |
| PAUSE AT name:50:18 |
| 46 b(); |
| 47 } |
| 48 |
| -> 49 get name() { |return this._name; } |
| 50 set name(x) { this._name = x; } |
| 51 |
| 52 } |
| |
| ACTION: step-out |
| PAUSE AT entryClassGetterSetter:74:5 |
| 70 let o = new Child; |
| 71 debugger; |
| 72 var name = o.name; |
| -> 73 |o.name = "Name"; |
| 74 } |
| 75 |
| 76 // --------- |
| |
| ACTION: step-in |
| PAUSE AT name:51:19 |
| 47 } |
| 48 |
| 49 get name() { return this._name; } |
| -> 50 set name(x) { |this._name = x; } |
| 51 |
| 52 } |
| 53 |
| |
| ACTION: step-out |
| PAUSE AT entryClassGetterSetter:75:2 |
| 71 debugger; |
| 72 var name = o.name; |
| 73 o.name = "Name"; |
| -> 74 }| |
| 75 |
| 76 // --------- |
| 77 |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |