blob: ab0297e45118d412983b0cc454a7f28e2f29b1d6 [file] [log] [blame]
Checking pause locations when stepping in, out, and over in loops.
== Running test suite: Debugger.stepping.loops
-- Running test case: Debugger.stepping.While
EXPRESSION: setTimeout(entryWhile)
STEPS: over, over, over, over, over, over, resume
PAUSED (debugger-statement)
PAUSE AT entryWhile:13:5
9
10 function entryWhile() {
11 let i = 2;
-> 12 |debugger;
13 while (i > 0)
14 --i;
15 }
ACTION: step-over
PAUSE AT entryWhile:14:12
10 function entryWhile() {
11 let i = 2;
12 debugger;
-> 13 while (|i > 0)
14 --i;
15 }
16
ACTION: step-over
PAUSE AT entryWhile:15:9
11 let i = 2;
12 debugger;
13 while (i > 0)
-> 14 |--i;
15 }
16
17 function entryDoWhile() {
ACTION: step-over
PAUSE AT entryWhile:14:12
10 function entryWhile() {
11 let i = 2;
12 debugger;
-> 13 while (|i > 0)
14 --i;
15 }
16
ACTION: step-over
PAUSE AT entryWhile:15:9
11 let i = 2;
12 debugger;
13 while (i > 0)
-> 14 |--i;
15 }
16
17 function entryDoWhile() {
ACTION: step-over
PAUSE AT entryWhile:14:12
10 function entryWhile() {
11 let i = 2;
12 debugger;
-> 13 while (|i > 0)
14 --i;
15 }
16
ACTION: step-over
PAUSE AT entryWhile:16:2
12 debugger;
13 while (i > 0)
14 --i;
-> 15 }|
16
17 function entryDoWhile() {
18 let i = 2;
ACTION: resume
RESUMED
PASS: Should have used all steps.
-- Running test case: Debugger.stepping.DoWhile
EXPRESSION: setTimeout(entryDoWhile)
STEPS: over, over, over, over, over, resume
PAUSED (debugger-statement)
PAUSE AT entryDoWhile:20:5
16
17 function entryDoWhile() {
18 let i = 2;
-> 19 |debugger;
20 do {
21 --i;
22 } while (i > 0);
ACTION: step-over
PAUSE AT entryDoWhile:22:9
18 let i = 2;
19 debugger;
20 do {
-> 21 |--i;
22 } while (i > 0);
23 }
24
ACTION: step-over
PAUSE AT entryDoWhile:23:14
19 debugger;
20 do {
21 --i;
-> 22 } while (|i > 0);
23 }
24
25 function entryTraditionalFor() {
ACTION: step-over
PAUSE AT entryDoWhile:22:9
18 let i = 2;
19 debugger;
20 do {
-> 21 |--i;
22 } while (i > 0);
23 }
24
ACTION: step-over
PAUSE AT entryDoWhile:23:14
19 debugger;
20 do {
21 --i;
-> 22 } while (|i > 0);
23 }
24
25 function entryTraditionalFor() {
ACTION: step-over
PAUSE AT entryDoWhile:24:2
20 do {
21 --i;
22 } while (i > 0);
-> 23 }|
24
25 function entryTraditionalFor() {
26 debugger;
ACTION: resume
RESUMED
PASS: Should have used all steps.
-- Running test case: Debugger.stepping.TraditionalForStepOver
EXPRESSION: setTimeout(entryTraditionalFor)
STEPS: over, over, over, over, over, over, over, over, over, resume
PAUSED (debugger-statement)
PAUSE AT entryTraditionalFor:27:5
23 }
24
25 function entryTraditionalFor() {
-> 26 |debugger;
27 for (let i = 0; i < 2; ++i)
28 a();
29 }
ACTION: step-over
PAUSE AT entryTraditionalFor:28:10
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (|let i = 0; i < 2; ++i)
28 a();
29 }
30
ACTION: step-over
PAUSE AT entryTraditionalFor:28:21
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (let i = 0; |i < 2; ++i)
28 a();
29 }
30
ACTION: step-over
PAUSE AT entryTraditionalFor:29:9
25 function entryTraditionalFor() {
26 debugger;
27 for (let i = 0; i < 2; ++i)
-> 28 |a();
29 }
30
31 function entryTraditionalForNoInit() {
ACTION: step-over
PAUSE AT entryTraditionalFor:28:28
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (let i = 0; i < 2; |++i)
28 a();
29 }
30
ACTION: step-over
PAUSE AT entryTraditionalFor:28:21
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (let i = 0; |i < 2; ++i)
28 a();
29 }
30
ACTION: step-over
PAUSE AT entryTraditionalFor:29:9
25 function entryTraditionalFor() {
26 debugger;
27 for (let i = 0; i < 2; ++i)
-> 28 |a();
29 }
30
31 function entryTraditionalForNoInit() {
ACTION: step-over
PAUSE AT entryTraditionalFor:28:28
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (let i = 0; i < 2; |++i)
28 a();
29 }
30
ACTION: step-over
PAUSE AT entryTraditionalFor:28:21
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (let i = 0; |i < 2; ++i)
28 a();
29 }
30
ACTION: step-over
PAUSE AT entryTraditionalFor:30:2
26 debugger;
27 for (let i = 0; i < 2; ++i)
28 a();
-> 29 }|
30
31 function entryTraditionalForNoInit() {
32 let i = 0;
ACTION: resume
RESUMED
PASS: Should have used all steps.
-- Running test case: Debugger.stepping.TraditionalForStepIn
EXPRESSION: setTimeout(entryTraditionalFor)
STEPS: over, in, in, over, in, in, over, in, in, resume
PAUSED (debugger-statement)
PAUSE AT entryTraditionalFor:27:5
23 }
24
25 function entryTraditionalFor() {
-> 26 |debugger;
27 for (let i = 0; i < 2; ++i)
28 a();
29 }
ACTION: step-over
PAUSE AT entryTraditionalFor:28:10
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (|let i = 0; i < 2; ++i)
28 a();
29 }
30
ACTION: step-in
PAUSE AT entryTraditionalFor:28:21
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (let i = 0; |i < 2; ++i)
28 a();
29 }
30
ACTION: step-in
PAUSE AT entryTraditionalFor:29:9
25 function entryTraditionalFor() {
26 debugger;
27 for (let i = 0; i < 2; ++i)
-> 28 |a();
29 }
30
31 function entryTraditionalForNoInit() {
ACTION: step-over
PAUSE AT entryTraditionalFor:28:28
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (let i = 0; i < 2; |++i)
28 a();
29 }
30
ACTION: step-in
PAUSE AT entryTraditionalFor:28:21
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (let i = 0; |i < 2; ++i)
28 a();
29 }
30
ACTION: step-in
PAUSE AT entryTraditionalFor:29:9
25 function entryTraditionalFor() {
26 debugger;
27 for (let i = 0; i < 2; ++i)
-> 28 |a();
29 }
30
31 function entryTraditionalForNoInit() {
ACTION: step-over
PAUSE AT entryTraditionalFor:28:28
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (let i = 0; i < 2; |++i)
28 a();
29 }
30
ACTION: step-in
PAUSE AT entryTraditionalFor:28:21
24
25 function entryTraditionalFor() {
26 debugger;
-> 27 for (let i = 0; |i < 2; ++i)
28 a();
29 }
30
ACTION: step-in
PAUSE AT entryTraditionalFor:30:2
26 debugger;
27 for (let i = 0; i < 2; ++i)
28 a();
-> 29 }|
30
31 function entryTraditionalForNoInit() {
32 let i = 0;
ACTION: resume
RESUMED
PASS: Should have used all steps.
-- Running test case: Debugger.stepping.TraditionalForNoInit
EXPRESSION: setTimeout(entryTraditionalForNoInit)
STEPS: over, in, over, in, in, over, in, in, resume
PAUSED (debugger-statement)
PAUSE AT entryTraditionalForNoInit:34:5
30
31 function entryTraditionalForNoInit() {
32 let i = 0;
-> 33 |debugger;
34 for (; i < 2; ++i)
35 a();
36 }
ACTION: step-over
PAUSE AT entryTraditionalForNoInit:35:12
31 function entryTraditionalForNoInit() {
32 let i = 0;
33 debugger;
-> 34 for (; |i < 2; ++i)
35 a();
36 }
37
ACTION: step-in
PAUSE AT entryTraditionalForNoInit:36:9
32 let i = 0;
33 debugger;
34 for (; i < 2; ++i)
-> 35 |a();
36 }
37
38 function entryForIn() {
ACTION: step-over
PAUSE AT entryTraditionalForNoInit:35:19
31 function entryTraditionalForNoInit() {
32 let i = 0;
33 debugger;
-> 34 for (; i < 2; |++i)
35 a();
36 }
37
ACTION: step-in
PAUSE AT entryTraditionalForNoInit:35:12
31 function entryTraditionalForNoInit() {
32 let i = 0;
33 debugger;
-> 34 for (; |i < 2; ++i)
35 a();
36 }
37
ACTION: step-in
PAUSE AT entryTraditionalForNoInit:36:9
32 let i = 0;
33 debugger;
34 for (; i < 2; ++i)
-> 35 |a();
36 }
37
38 function entryForIn() {
ACTION: step-over
PAUSE AT entryTraditionalForNoInit:35:19
31 function entryTraditionalForNoInit() {
32 let i = 0;
33 debugger;
-> 34 for (; i < 2; |++i)
35 a();
36 }
37
ACTION: step-in
PAUSE AT entryTraditionalForNoInit:35:12
31 function entryTraditionalForNoInit() {
32 let i = 0;
33 debugger;
-> 34 for (; |i < 2; ++i)
35 a();
36 }
37
ACTION: step-in
PAUSE AT entryTraditionalForNoInit:37:2
33 debugger;
34 for (; i < 2; ++i)
35 a();
-> 36 }|
37
38 function entryForIn() {
39 let o = {key1: 1, key2: 2};
ACTION: resume
RESUMED
PASS: Should have used all steps.
-- Running test case: Debugger.stepping.ForIn
EXPRESSION: setTimeout(entryForIn)
STEPS: over, over, over, over, over, over, over, resume
PAUSED (debugger-statement)
PAUSE AT entryForIn:41:5
37
38 function entryForIn() {
39 let o = {key1: 1, key2: 2};
-> 40 |debugger;
41 for (let property in o)
42 a();
43 }
ACTION: step-over
PAUSE AT entryForIn:42:26
38 function entryForIn() {
39 let o = {key1: 1, key2: 2};
40 debugger;
-> 41 for (let property in |o)
42 a();
43 }
44
ACTION: step-over
PAUSE AT entryForIn:42:10
38 function entryForIn() {
39 let o = {key1: 1, key2: 2};
40 debugger;
-> 41 for (|let property in o)
42 a();
43 }
44
ACTION: step-over
PAUSE AT entryForIn:43:9
39 let o = {key1: 1, key2: 2};
40 debugger;
41 for (let property in o)
-> 42 |a();
43 }
44
45 function entryForOf() {
ACTION: step-over
PAUSE AT entryForIn:42:10
38 function entryForIn() {
39 let o = {key1: 1, key2: 2};
40 debugger;
-> 41 for (|let property in o)
42 a();
43 }
44
ACTION: step-over
PAUSE AT entryForIn:43:9
39 let o = {key1: 1, key2: 2};
40 debugger;
41 for (let property in o)
-> 42 |a();
43 }
44
45 function entryForOf() {
ACTION: step-over
PAUSE AT entryForIn:42:10
38 function entryForIn() {
39 let o = {key1: 1, key2: 2};
40 debugger;
-> 41 for (|let property in o)
42 a();
43 }
44
ACTION: step-over
PAUSE AT entryForIn:44:2
40 debugger;
41 for (let property in o)
42 a();
-> 43 }|
44
45 function entryForOf() {
46 let arr = [1, 2];
ACTION: resume
RESUMED
PASS: Should have used all steps.
-- Running test case: Debugger.stepping.ForIn
EXPRESSION: setTimeout(entryForOf)
STEPS: over, over, over, over, over, over, over, resume
PAUSED (debugger-statement)
PAUSE AT entryForOf:48:5
44
45 function entryForOf() {
46 let arr = [1, 2];
-> 47 |debugger;
48 for (let value of arr)
49 a();
50 }
ACTION: step-over
PAUSE AT entryForOf:49:23
45 function entryForOf() {
46 let arr = [1, 2];
47 debugger;
-> 48 for (let value of |arr)
49 a();
50 }
51
ACTION: step-over
PAUSE AT entryForOf:49:10
45 function entryForOf() {
46 let arr = [1, 2];
47 debugger;
-> 48 for (|let value of arr)
49 a();
50 }
51
ACTION: step-over
PAUSE AT entryForOf:50:9
46 let arr = [1, 2];
47 debugger;
48 for (let value of arr)
-> 49 |a();
50 }
51
52 function entryWhileBreakContinue() {
ACTION: step-over
PAUSE AT entryForOf:49:10
45 function entryForOf() {
46 let arr = [1, 2];
47 debugger;
-> 48 for (|let value of arr)
49 a();
50 }
51
ACTION: step-over
PAUSE AT entryForOf:50:9
46 let arr = [1, 2];
47 debugger;
48 for (let value of arr)
-> 49 |a();
50 }
51
52 function entryWhileBreakContinue() {
ACTION: step-over
PAUSE AT entryForOf:49:10
45 function entryForOf() {
46 let arr = [1, 2];
47 debugger;
-> 48 for (|let value of arr)
49 a();
50 }
51
ACTION: step-over
PAUSE AT entryForOf:51:2
47 debugger;
48 for (let value of arr)
49 a();
-> 50 }|
51
52 function entryWhileBreakContinue() {
53 let i = 0;
ACTION: resume
RESUMED
PASS: Should have used all steps.
-- Running test case: Debugger.stepping.WhileBreakContinue
EXPRESSION: setTimeout(entryWhileBreakContinue)
STEPS: over, over, over, over, over, over, over, over, over, over, resume
PAUSED (debugger-statement)
PAUSE AT entryWhileBreakContinue:55:5
51
52 function entryWhileBreakContinue() {
53 let i = 0;
-> 54 |debugger;
55 while (truthy) {
56 ++i;
57 if (i === 1)
ACTION: step-over
PAUSE AT entryWhileBreakContinue:56:12
52 function entryWhileBreakContinue() {
53 let i = 0;
54 debugger;
-> 55 while (|truthy) {
56 ++i;
57 if (i === 1)
58 continue;
ACTION: step-over
PAUSE AT entryWhileBreakContinue:57:9
53 let i = 0;
54 debugger;
55 while (truthy) {
-> 56 |++i;
57 if (i === 1)
58 continue;
59 if (i === 2)
ACTION: step-over
PAUSE AT entryWhileBreakContinue:58:13
54 debugger;
55 while (truthy) {
56 ++i;
-> 57 if (|i === 1)
58 continue;
59 if (i === 2)
60 break;
ACTION: step-over
PAUSE AT entryWhileBreakContinue:59:13
55 while (truthy) {
56 ++i;
57 if (i === 1)
-> 58 |continue;
59 if (i === 2)
60 break;
61 }
ACTION: step-over
PAUSE AT entryWhileBreakContinue:56:12
52 function entryWhileBreakContinue() {
53 let i = 0;
54 debugger;
-> 55 while (|truthy) {
56 ++i;
57 if (i === 1)
58 continue;
ACTION: step-over
PAUSE AT entryWhileBreakContinue:57:9
53 let i = 0;
54 debugger;
55 while (truthy) {
-> 56 |++i;
57 if (i === 1)
58 continue;
59 if (i === 2)
ACTION: step-over
PAUSE AT entryWhileBreakContinue:58:13
54 debugger;
55 while (truthy) {
56 ++i;
-> 57 if (|i === 1)
58 continue;
59 if (i === 2)
60 break;
ACTION: step-over
PAUSE AT entryWhileBreakContinue:60:13
56 ++i;
57 if (i === 1)
58 continue;
-> 59 if (|i === 2)
60 break;
61 }
62 }
ACTION: step-over
PAUSE AT entryWhileBreakContinue:61:13
57 if (i === 1)
58 continue;
59 if (i === 2)
-> 60 |break;
61 }
62 }
63
ACTION: step-over
PAUSE AT entryWhileBreakContinue:63:2
59 if (i === 2)
60 break;
61 }
-> 62 }|
63
64 function entryForBreakContinue() {
65 let i = 0;
ACTION: resume
RESUMED
PASS: Should have used all steps.
-- Running test case: Debugger.stepping.ForBreakContinue
EXPRESSION: setTimeout(entryForBreakContinue)
STEPS: over, over, over, over, over, over, over, over, resume
PAUSED (debugger-statement)
PAUSE AT entryForBreakContinue:67:5
63
64 function entryForBreakContinue() {
65 let i = 0;
-> 66 |debugger;
67 for (;;) {
68 ++i;
69 if (i === 1)
ACTION: step-over
PAUSE AT entryForBreakContinue:69:9
65 let i = 0;
66 debugger;
67 for (;;) {
-> 68 |++i;
69 if (i === 1)
70 continue;
71 if (i === 2)
ACTION: step-over
PAUSE AT entryForBreakContinue:70:13
66 debugger;
67 for (;;) {
68 ++i;
-> 69 if (|i === 1)
70 continue;
71 if (i === 2)
72 break;
ACTION: step-over
PAUSE AT entryForBreakContinue:71:13
67 for (;;) {
68 ++i;
69 if (i === 1)
-> 70 |continue;
71 if (i === 2)
72 break;
73 }
ACTION: step-over
PAUSE AT entryForBreakContinue:69:9
65 let i = 0;
66 debugger;
67 for (;;) {
-> 68 |++i;
69 if (i === 1)
70 continue;
71 if (i === 2)
ACTION: step-over
PAUSE AT entryForBreakContinue:70:13
66 debugger;
67 for (;;) {
68 ++i;
-> 69 if (|i === 1)
70 continue;
71 if (i === 2)
72 break;
ACTION: step-over
PAUSE AT entryForBreakContinue:72:13
68 ++i;
69 if (i === 1)
70 continue;
-> 71 if (|i === 2)
72 break;
73 }
74 }
ACTION: step-over
PAUSE AT entryForBreakContinue:73:13
69 if (i === 1)
70 continue;
71 if (i === 2)
-> 72 |break;
73 }
74 }
75
ACTION: step-over
PAUSE AT entryForBreakContinue:75:2
71 if (i === 2)
72 break;
73 }
-> 74 }|
75
76 // ---------
77
ACTION: resume
RESUMED
PASS: Should have used all steps.