Skip to content

Commit 7f54b1e

Browse files
committed
test: move target.test.js to Playwright
1 parent 6ae0b39 commit 7f54b1e

20 files changed

+110
-0
lines changed
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
"use strict";
2+
3+
const { test } = require("@playwright/test");
4+
const { describe } = require("@playwright/test");
5+
const { expect } = require("@playwright/test");
6+
const webpack = require("webpack");
7+
const Server = require("../../lib/Server");
8+
const config = require("../fixtures/client-config/webpack.config");
9+
const port = require("../ports-map").target;
10+
11+
describe("target", () => {
12+
const targets = [
13+
false,
14+
"browserslist:defaults",
15+
"web",
16+
"webworker",
17+
"node",
18+
"async-node",
19+
"electron-main",
20+
"electron-preload",
21+
"electron-renderer",
22+
"nwjs",
23+
"node-webkit",
24+
"es5",
25+
["web", "es5"],
26+
];
27+
28+
for (const target of targets) {
29+
test(`should work using "${target}" target`, async ({ page }) => {
30+
const compiler = webpack({
31+
...config,
32+
target,
33+
...(target === false || target === "es5"
34+
? {
35+
output: { chunkFormat: "array-push", path: "/" },
36+
}
37+
: {}),
38+
});
39+
const devServerOptions = {
40+
port,
41+
};
42+
const server = new Server(devServerOptions, compiler);
43+
44+
await server.start();
45+
46+
try {
47+
const pageErrors = [];
48+
const consoleMessages = [];
49+
50+
page
51+
.on("console", (message) => {
52+
consoleMessages.push(message);
53+
})
54+
.on("pageerror", (error) => {
55+
pageErrors.push(error);
56+
});
57+
58+
await page.goto(`http://127.0.0.1:${port}/`, {
59+
waitUntil: "networkidle0",
60+
});
61+
62+
expect(
63+
JSON.stringify(consoleMessages.map((message) => message.text())),
64+
).toMatchSnapshot();
65+
66+
if (
67+
target === "node" ||
68+
target === "async-node" ||
69+
target === "electron-main" ||
70+
target === "electron-preload" ||
71+
target === "electron-renderer" ||
72+
target === "nwjs" ||
73+
target === "node-webkit"
74+
) {
75+
const hasRequireOrGlobalError =
76+
pageErrors.filter((pageError) =>
77+
/require is not defined|global is not defined/.test(pageError),
78+
).length === 1;
79+
80+
expect(hasRequireOrGlobalError).toBe(true);
81+
} else {
82+
expect(JSON.stringify(pageErrors)).toMatchSnapshot();
83+
}
84+
} catch (error) {
85+
throw error;
86+
} finally {
87+
await server.stop();
88+
}
89+
});
90+
}
91+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
["[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.","[HMR] Waiting for update signal from WDS...","Hey."]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
["[HMR] Waiting for update signal from WDS...","Hey."]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
["[HMR] Waiting for update signal from WDS...","Hey."]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
["[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.","[HMR] Waiting for update signal from WDS...","Hey."]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
["[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.","[HMR] Waiting for update signal from WDS...","Hey."]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
["[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.","[HMR] Waiting for update signal from WDS...","Hey."]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]

0 commit comments

Comments
 (0)