(serverOptions: ServerOptions)
| 10 | }) |
| 11 | |
| 12 | async function testClientReload(serverOptions: ServerOptions) { |
| 13 | // start server |
| 14 | server = await createServer({ |
| 15 | root: path.resolve(import.meta.dirname, '..'), |
| 16 | logLevel: 'silent', |
| 17 | server: { |
| 18 | strictPort: true, |
| 19 | ...serverOptions, |
| 20 | }, |
| 21 | }) |
| 22 | |
| 23 | await server.listen() |
| 24 | const serverUrl = server.resolvedUrls.local[0] |
| 25 | |
| 26 | // open page and wait for connection |
| 27 | const connectedPromise = page.waitForEvent('console', { |
| 28 | predicate: (message) => message.text().includes('[vite] connected.'), |
| 29 | timeout: 5000, |
| 30 | }) |
| 31 | await page.goto(serverUrl) |
| 32 | await connectedPromise |
| 33 | |
| 34 | // input state |
| 35 | await page.locator('input').fill('hello') |
| 36 | |
| 37 | // restart and wait for reconnection after reload |
| 38 | const reConnectedPromise = page.waitForEvent('console', { |
| 39 | predicate: (message) => message.text().includes('[vite] connected.'), |
| 40 | timeout: 5000, |
| 41 | }) |
| 42 | await server.restart() |
| 43 | await reConnectedPromise |
| 44 | expect(await page.textContent('input')).toBe('') |
| 45 | } |
| 46 | |
| 47 | describe.runIf(isServe)('client-reload', () => { |
| 48 | test('default', async () => { |
no test coverage detected