Skip to content

Commit eb8033b

Browse files
snitin315alexander-akait
authored andcommitted
test: refactor progress tests to cleanup properly (#4916)
1 parent a6bea75 commit eb8033b

File tree

1 file changed

+56
-45
lines changed

1 file changed

+56
-45
lines changed

test/e2e/progress.test.js

Lines changed: 56 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -28,50 +28,61 @@ describe("progress", () => {
2828

2929
await server.start();
3030

31-
const { page, browser } = await runBrowser();
32-
33-
const consoleMessages = [];
34-
35-
let doHotUpdate = false;
36-
37-
page
38-
.on("console", (message) => {
39-
consoleMessages.push(message);
40-
})
41-
.on("request", (requestObj) => {
42-
if (/\.hot-update\.(json|js)$/.test(requestObj.url())) {
43-
doHotUpdate = true;
44-
}
45-
});
46-
47-
await page.goto(`http://localhost:${port}/`, {
48-
waitUntil: "networkidle0",
49-
});
50-
51-
fs.writeFileSync(cssFilePath, "body { background-color: rgb(255, 0, 0); }");
52-
53-
await new Promise((resolve) => {
54-
const timer = setInterval(() => {
55-
if (doHotUpdate) {
56-
clearInterval(timer);
57-
58-
resolve();
59-
}
60-
}, 100);
61-
});
62-
63-
await browser.close();
64-
65-
const progressConsoleMessage = consoleMessages.filter((message) =>
66-
/^\[webpack-dev-server\] (\[[a-zA-Z]+\] )?[0-9]{1,3}% - /.test(
67-
message.text()
68-
)
69-
);
70-
71-
expect(progressConsoleMessage.length > 0).toBe(true);
72-
73-
fs.unlinkSync(cssFilePath);
74-
75-
await server.stop();
31+
try {
32+
const { page, browser } = await runBrowser();
33+
34+
const consoleMessages = [];
35+
36+
try {
37+
let doHotUpdate = false;
38+
39+
page
40+
.on("console", (message) => {
41+
consoleMessages.push(message);
42+
})
43+
.on("request", (requestObj) => {
44+
if (/\.hot-update\.(json|js)$/.test(requestObj.url())) {
45+
doHotUpdate = true;
46+
}
47+
});
48+
49+
await page.goto(`http://localhost:${port}/`, {
50+
waitUntil: "networkidle0",
51+
});
52+
53+
fs.writeFileSync(
54+
cssFilePath,
55+
"body { background-color: rgb(255, 0, 0); }"
56+
);
57+
58+
await new Promise((resolve) => {
59+
const timer = setInterval(() => {
60+
if (doHotUpdate) {
61+
clearInterval(timer);
62+
63+
resolve();
64+
}
65+
}, 100);
66+
});
67+
} catch (error) {
68+
throw error;
69+
} finally {
70+
await browser.close();
71+
}
72+
73+
const progressConsoleMessage = consoleMessages.filter((message) =>
74+
/^\[webpack-dev-server\] (\[[a-zA-Z]+\] )?[0-9]{1,3}% - /.test(
75+
message.text()
76+
)
77+
);
78+
79+
expect(progressConsoleMessage.length > 0).toBe(true);
80+
} catch (error) {
81+
throw error;
82+
} finally {
83+
fs.unlinkSync(cssFilePath);
84+
85+
await server.stop();
86+
}
7687
});
7788
});

0 commit comments

Comments
 (0)