From 017332396a6737946f5c3a93d4dbce72882bf685 Mon Sep 17 00:00:00 2001 From: neverland Date: Sun, 21 Jun 2026 16:58:03 +0800 Subject: [PATCH] test: stabilize target worker e2e --- tests/e2e/target.test.js | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/tests/e2e/target.test.js b/tests/e2e/target.test.js index 929f53d..765bd7c 100644 --- a/tests/e2e/target.test.js +++ b/tests/e2e/target.test.js @@ -7,8 +7,32 @@ const port = require('../helpers/ports-map').target; const workerConfig = require('../fixtures/worker-config/rspack.config'); const workerConfigDevServerFalse = require('../fixtures/worker-config-dev-server-false/rspack.config'); +const workerConsoleMessages = [ + "Worker said: I'm working before postMessage", + 'Worker said: Message sent: message', +]; + const sortByTerm = (data, term) => - data.sort((a, b) => (a.indexOf(term) < b.indexOf(term) ? -1 : 1)); + data.sort((a, b) => { + const aHasTerm = a.includes(term); + const bHasTerm = b.includes(term); + + if (aHasTerm === bHasTerm) { + return 0; + } + + return aHasTerm ? 1 : -1; + }); + +const waitForWorkerConsoleMessages = async (consoleMessages) => { + await expect + .poll(() => + consoleMessages + .map((message) => message.text()) + .filter((message) => message.startsWith('Worker said:')), + ) + .toEqual(workerConsoleMessages); +}; describe('target', () => { const targets = [ @@ -115,6 +139,8 @@ describe('target', () => { waitUntil: 'networkidle0', }); + await waitForWorkerConsoleMessages(consoleMessages); + expect( sortByTerm( consoleMessages.map((message) => message.text()), @@ -164,6 +190,8 @@ describe('target', () => { waitUntil: 'networkidle0', }); + await waitForWorkerConsoleMessages(consoleMessages); + expect( sortByTerm( consoleMessages.map((message) => message.text()),