diff --git a/e2e/cases/svelte/index.test.ts b/e2e/cases/svelte/index.test.ts index df611b5921..322baefa09 100644 --- a/e2e/cases/svelte/index.test.ts +++ b/e2e/cases/svelte/index.test.ts @@ -38,21 +38,6 @@ rspackOnlyTest( }, ); -rspackOnlyTest( - 'should build svelte component with typescript', - async ({ page }) => { - const rsbuild = await buildFixture('ts', 'src/index.ts'); - - await gotoPage(page, rsbuild); - - const title = page.locator('#title'); - - await expect(title).toHaveText('Hello world!'); - - rsbuild.close(); - }, -); - // test cases for CSS preprocessors for (const name of ['less', 'scss', 'stylus']) { rspackOnlyTest( diff --git a/e2e/cases/svelte/ts/index.test.ts b/e2e/cases/svelte/ts/index.test.ts new file mode 100644 index 0000000000..063541579a --- /dev/null +++ b/e2e/cases/svelte/ts/index.test.ts @@ -0,0 +1,22 @@ +import { build, gotoPage, rspackOnlyTest } from '@e2e/helper'; +import { expect } from '@playwright/test'; + +rspackOnlyTest( + 'should build svelte component with typescript', + async ({ page }) => { + const rsbuild = await build({ + cwd: __dirname, + page, + }); + + await gotoPage(page, rsbuild); + + const title = page.locator('#title'); + await expect(title).toHaveText('Hello world!'); + + const count = page.locator('#count'); + await expect(count).toHaveText('Count: 2'); + + rsbuild.close(); + }, +); diff --git a/e2e/cases/svelte/ts/rsbuild.config.ts b/e2e/cases/svelte/ts/rsbuild.config.ts new file mode 100644 index 0000000000..47bc5c725c --- /dev/null +++ b/e2e/cases/svelte/ts/rsbuild.config.ts @@ -0,0 +1,6 @@ +import { defineConfig } from '@rsbuild/core'; +import { pluginSvelte } from '@rsbuild/plugin-svelte'; + +export default defineConfig({ + plugins: [pluginSvelte()], +}); diff --git a/e2e/cases/svelte/ts/src/App.svelte b/e2e/cases/svelte/ts/src/App.svelte index dcf5521f0c..02096444f3 100644 --- a/e2e/cases/svelte/ts/src/App.svelte +++ b/e2e/cases/svelte/ts/src/App.svelte @@ -1,9 +1,11 @@

Hello {name}!

+

Count: {getCount()}