Skip to content

Commit 657756f

Browse files
sonimadhuridanielleadams
authored andcommitted
test: refactor promises to async/await
PR-URL: #44980 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Danielle Adams <adamzdanielle@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
1 parent 88351b9 commit 657756f

File tree

1 file changed

+99
-120
lines changed

1 file changed

+99
-120
lines changed

test/sequential/test-debugger-break.js

+99-120
Original file line numberDiff line numberDiff line change
@@ -9,123 +9,102 @@ const startCLI = require('../common/debugger');
99
const assert = require('assert');
1010
const path = require('path');
1111

12-
// Stepping through breakpoints.
13-
{
14-
const scriptFullPath = fixtures.path('debugger', 'break.js');
15-
const script = path.relative(process.cwd(), scriptFullPath);
16-
const cli = startCLI([script]);
17-
18-
function onFatal(error) {
19-
cli.quit();
20-
throw error;
21-
}
22-
23-
cli.waitForInitialBreak()
24-
.then(() => cli.waitForPrompt())
25-
.then(() => {
26-
assert.deepStrictEqual(
27-
cli.breakInfo,
28-
{ filename: script, line: 1 },
29-
);
30-
assert.match(
31-
cli.output,
32-
/> 1 (?:\(function \([^)]+\) \{ )?const x = 10;/,
33-
'shows the source and marks the current line');
34-
})
35-
.then(() => cli.stepCommand('n'))
36-
.then(() => {
37-
assert.ok(
38-
cli.output.includes(`break in ${script}:2`),
39-
'pauses in next line of the script');
40-
assert.match(
41-
cli.output,
42-
/> 2 let name = 'World';/,
43-
'marks the 2nd line');
44-
})
45-
.then(() => cli.stepCommand('next'))
46-
.then(() => {
47-
assert.ok(
48-
cli.output.includes(`break in ${script}:3`),
49-
'pauses in next line of the script');
50-
assert.match(
51-
cli.output,
52-
/> 3 name = 'Robin';/,
53-
'marks the 3nd line');
54-
})
55-
.then(() => cli.stepCommand('cont'))
56-
.then(() => {
57-
assert.ok(
58-
cli.output.includes(`break in ${script}:10`),
59-
'pauses on the next breakpoint');
60-
assert.match(
61-
cli.output,
62-
/>10 debugger;/,
63-
'marks the debugger line');
64-
})
65-
66-
// Prepare additional breakpoints
67-
.then(() => cli.command('sb("break.js", 6)'))
68-
.then(() => assert.doesNotMatch(cli.output, /Could not resolve breakpoint/))
69-
.then(() => cli.command('sb("otherFunction()")'))
70-
.then(() => cli.command('sb(16)'))
71-
.then(() => assert.doesNotMatch(cli.output, /Could not resolve breakpoint/))
72-
.then(() => cli.command('breakpoints'))
73-
.then(() => {
74-
assert.ok(cli.output.includes(`#0 ${script}:6`));
75-
assert.ok(cli.output.includes(`#1 ${script}:16`));
76-
})
77-
78-
.then(() => cli.command('list()'))
79-
.then(() => {
80-
assert.match(
81-
cli.output,
82-
/>10 debugger;/,
83-
'prints and marks current line'
84-
);
85-
assert.deepStrictEqual(
86-
cli.parseSourceLines(),
87-
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
88-
);
89-
})
90-
.then(() => cli.command('list(2)'))
91-
.then(() => {
92-
assert.match(
93-
cli.output,
94-
/>10 debugger;/,
95-
'prints and marks current line'
96-
);
97-
assert.deepStrictEqual(
98-
cli.parseSourceLines(),
99-
[8, 9, 10, 11, 12],
100-
);
101-
})
102-
103-
.then(() => cli.stepCommand('s'))
104-
.then(() => cli.stepCommand(''))
105-
.then(() => {
106-
assert.match(
107-
cli.output,
108-
/break in node:timers/,
109-
'entered timers.js');
110-
})
111-
.then(() => cli.stepCommand('cont'))
112-
.then(() => {
113-
assert.ok(
114-
cli.output.includes(`break in ${script}:16`),
115-
'found breakpoint we set above w/ line number only');
116-
})
117-
.then(() => cli.stepCommand('cont'))
118-
.then(() => {
119-
assert.ok(
120-
cli.output.includes(`break in ${script}:6`),
121-
'found breakpoint we set above w/ line number & script');
122-
})
123-
.then(() => cli.stepCommand(''))
124-
.then(() => {
125-
assert.ok(
126-
cli.output.includes(`debugCommand in ${script}:14`),
127-
'found function breakpoint we set above');
128-
})
129-
.then(() => cli.quit())
130-
.then(null, onFatal);
131-
}
12+
const scriptFullPath = fixtures.path('debugger', 'break.js');
13+
const script = path.relative(process.cwd(), scriptFullPath);
14+
const cli = startCLI([script]);
15+
16+
(async () => {
17+
await cli.waitForInitialBreak();
18+
await cli.waitForPrompt();
19+
assert.deepStrictEqual(
20+
cli.breakInfo,
21+
{ filename: script, line: 1 },
22+
);
23+
assert.match(
24+
cli.output,
25+
/> 1 (?:\(function \([^)]+\) \{ )?const x = 10;/,
26+
'shows the source and marks the current line');
27+
28+
await cli.stepCommand('n');
29+
assert.ok(
30+
cli.output.includes(`break in ${script}:2`),
31+
'pauses in next line of the script');
32+
assert.match(
33+
cli.output,
34+
/> 2 let name = 'World';/,
35+
'marks the 2nd line');
36+
37+
await cli.stepCommand('next');
38+
assert.ok(
39+
cli.output.includes(`break in ${script}:3`),
40+
'pauses in next line of the script');
41+
assert.match(
42+
cli.output,
43+
/> 3 name = 'Robin';/,
44+
'marks the 3nd line');
45+
46+
await cli.stepCommand('cont');
47+
assert.ok(
48+
cli.output.includes(`break in ${script}:10`),
49+
'pauses on the next breakpoint');
50+
assert.match(
51+
cli.output,
52+
/>10 debugger;/,
53+
'marks the debugger line');
54+
55+
await cli.command('sb("break.js", 6)');
56+
assert.doesNotMatch(cli.output, /Could not resolve breakpoint/);
57+
58+
await cli.command('sb("otherFunction()")');
59+
await cli.command('sb(16)');
60+
assert.doesNotMatch(cli.output, /Could not resolve breakpoint/);
61+
62+
await cli.command('breakpoints');
63+
assert.ok(cli.output.includes(`#0 ${script}:6`));
64+
assert.ok(cli.output.includes(`#1 ${script}:16`));
65+
66+
await cli.command('list()');
67+
assert.match(
68+
cli.output,
69+
/>10 debugger;/,
70+
'prints and marks current line'
71+
);
72+
assert.deepStrictEqual(
73+
cli.parseSourceLines(),
74+
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
75+
);
76+
77+
await cli.command('list(2)');
78+
assert.match(
79+
cli.output,
80+
/>10 debugger;/,
81+
'prints and marks current line'
82+
);
83+
assert.deepStrictEqual(
84+
cli.parseSourceLines(),
85+
[8, 9, 10, 11, 12],
86+
);
87+
88+
await cli.stepCommand('s');
89+
await cli.stepCommand('');
90+
assert.match(
91+
cli.output,
92+
/break in node:timers/,
93+
'entered timers.js');
94+
95+
await cli.stepCommand('cont');
96+
assert.ok(
97+
cli.output.includes(`break in ${script}:16`),
98+
'found breakpoint we set above w/ line number only');
99+
100+
await cli.stepCommand('cont');
101+
assert.ok(
102+
cli.output.includes(`break in ${script}:6`),
103+
'found breakpoint we set above w/ line number & script');
104+
105+
await cli.stepCommand('');
106+
assert.ok(
107+
cli.output.includes(`debugCommand in ${script}:14`),
108+
'found function breakpoint we set above');
109+
})().finally(() => cli.quit())
110+
.then(common.mustCall());

0 commit comments

Comments
 (0)