diff --git a/packages/plugin-rsc/e2e/starter.test.ts b/packages/plugin-rsc/e2e/starter.test.ts index 1ee2c2e0e..1bee50b70 100644 --- a/packages/plugin-rsc/e2e/starter.test.ts +++ b/packages/plugin-rsc/e2e/starter.test.ts @@ -110,6 +110,24 @@ function defineTest(f: Fixture, variant?: 'no-ssr') { await page.getByRole('button', { name: 'Client Counter: 0' }).click() }) + test.describe(() => { + test.skip(f.mode === 'build') + + test('server hmr', async ({ page }) => { + await page.goto(f.url()) + await waitForHydration(page) + await using _ = await expectNoReload(page) + await expect(page.getByText('Vite + RSC')).toBeVisible() + const editor = f.createEditor('src/root.tsx') + editor.edit((s) => + s.replace('

Vite + RSC

', '

Vite x RSC

'), + ) + await expect(page.getByText('Vite x RSC')).toBeVisible() + editor.reset() + await expect(page.getByText('Vite + RSC')).toBeVisible() + }) + }) + test('image assets', async ({ page }) => { await page.goto(f.url()) await waitForHydration(page) @@ -122,4 +140,25 @@ function defineTest(f: Fixture, variant?: 'no-ssr') { 0, ) }) + + test('css @js', async ({ page }) => { + await page.goto(f.url()) + await waitForHydration(page) + await expect(page.locator('.read-the-docs')).toHaveCSS( + 'color', + 'rgb(136, 136, 136)', + ) + }) + + test.describe(() => { + test.skip(variant === 'no-ssr') + + testNoJs('css @nojs', async ({ page }) => { + await page.goto(f.url()) + await expect(page.locator('.read-the-docs')).toHaveCSS( + 'color', + 'rgb(136, 136, 136)', + ) + }) + }) }