diff --git a/packages/svelte/tests/runtime-production/samples/production-internals/Child.svelte b/packages/svelte/tests/runtime-production/samples/production-internals/Child.svelte
new file mode 100644
index 0000000000..36b548ab8b
--- /dev/null
+++ b/packages/svelte/tests/runtime-production/samples/production-internals/Child.svelte
@@ -0,0 +1,5 @@
+
+
+{foo};
diff --git a/packages/svelte/tests/runtime-production/samples/production-internals/_config.js b/packages/svelte/tests/runtime-production/samples/production-internals/_config.js
new file mode 100644
index 0000000000..6ac08f7012
--- /dev/null
+++ b/packages/svelte/tests/runtime-production/samples/production-internals/_config.js
@@ -0,0 +1,12 @@
+import { flushSync } from 'svelte';
+import { test } from '../../test';
+
+export default test({
+ async test({ target }) {
+ let button = target.querySelector('button');
+
+ button?.click();
+
+ flushSync();
+ }
+});
diff --git a/packages/svelte/tests/runtime-production/samples/production-internals/main.svelte b/packages/svelte/tests/runtime-production/samples/production-internals/main.svelte
new file mode 100644
index 0000000000..0629644a01
--- /dev/null
+++ b/packages/svelte/tests/runtime-production/samples/production-internals/main.svelte
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/packages/svelte/tests/runtime-runes/samples/production/main.svelte b/packages/svelte/tests/runtime-production/samples/production/main.svelte
similarity index 100%
rename from packages/svelte/tests/runtime-runes/samples/production/main.svelte
rename to packages/svelte/tests/runtime-production/samples/production/main.svelte
diff --git a/packages/svelte/tests/runtime-production/test.ts b/packages/svelte/tests/runtime-production/test.ts
new file mode 100644
index 0000000000..1c9a00ab83
--- /dev/null
+++ b/packages/svelte/tests/runtime-production/test.ts
@@ -0,0 +1,17 @@
+// @vitest-environment jsdom
+
+import { vi } from 'vitest';
+import { runtime_suite, ok } from '../runtime-legacy/shared';
+
+vi.mock('esm-env', async (importEnv) => {
+ return {
+ ...(await importEnv()),
+ DEV: false
+ };
+});
+
+const { test, run } = runtime_suite(true);
+
+export { test, ok };
+
+await run(__dirname);
diff --git a/packages/svelte/tests/runtime-runes/samples/production/_config.js b/packages/svelte/tests/runtime-runes/samples/production/_config.js
deleted file mode 100644
index ce36c9d95b..0000000000
--- a/packages/svelte/tests/runtime-runes/samples/production/_config.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import { test } from '../../test';
-
-export default test({
- production: true
-});
diff --git a/packages/svelte/tests/suite.ts b/packages/svelte/tests/suite.ts
index 72c40f526b..bbd252b8e1 100644
--- a/packages/svelte/tests/suite.ts
+++ b/packages/svelte/tests/suite.ts
@@ -1,11 +1,9 @@
import fs from 'node:fs';
-import { it, vi } from 'vitest';
+import { it } from 'vitest';
export interface BaseTest {
skip?: boolean;
solo?: boolean;
- /** Set `DEV` to `false` */
- production?: boolean;
}
/**
@@ -29,31 +27,11 @@ export function suite(fn: (config: Test, test_dir: string
return {
test: (config: Test) => config,
run: async (cwd: string, samples_dir = 'samples') => {
- const production_tests: Array<[Function, string, Function]> = [];
-
await for_each_dir(cwd, samples_dir, (config, dir) => {
let it_fn = config.skip ? it.skip : config.solo ? it.only : it;
- if (config.production) {
- production_tests.push([it_fn, dir, () => fn(config, `${cwd}/${samples_dir}/${dir}`)]);
- } else {
- it_fn(dir, () => fn(config, `${cwd}/${samples_dir}/${dir}`));
- }
+ it_fn(dir, () => fn(config, `${cwd}/${samples_dir}/${dir}`));
});
-
- let mocked = false;
- for (const [it, name, test] of production_tests) {
- it(name, () => {
- if (!mocked) {
- vi.doMock('esm-env', async (importEnv) => ({
- ...(await importEnv()),
- DEV: false
- }));
- mocked = true;
- }
- return test();
- });
- }
}
};
}
@@ -67,8 +45,6 @@ export function suite_with_variants config,
run: async (cwd: string, samples_dir = 'samples') => {
- const production_tests: Array<[Function, string, Function]> = [];
-
await for_each_dir(cwd, samples_dir, (config, dir) => {
let called_common = false;
let common: any = undefined;
@@ -81,35 +57,15 @@ export function suite_with_variants {
+ it_fn(`${dir} (${variant})`, async () => {
if (!called_common) {
called_common = true;
common = await common_setup(config, `${cwd}/${samples_dir}/${dir}`);
}
return fn(config, `${cwd}/${samples_dir}/${dir}`, variant, common);
- };
-
- if (config.production) {
- production_tests.push([it_fn, `${dir} (${variant})`, test]);
- } else {
- it_fn(`${dir} (${variant})`, test);
- }
+ });
}
});
-
- let mocked = false;
- for (const [it, name, test] of production_tests) {
- it(name, () => {
- if (!mocked) {
- vi.doMock('esm-env', async (importEnv) => ({
- ...(await importEnv()),
- DEV: false
- }));
- mocked = true;
- }
- return test();
- });
- }
}
};
}
@@ -152,17 +108,3 @@ export function assert_ok(value: any): asserts value {
throw new Error(`Expected truthy value, got ${value}`);
}
}
-
-function run_in_production(fn: (...args: any[]) => void | Promise) {
- return async (...args: any[]) => {
- vi.doMock('esm-env', async (importEnv) => ({
- ...(await importEnv()),
- DEV: false
- }));
- try {
- await fn(...args);
- } finally {
- vi.doUnmock('esm-env');
- }
- };
-}