Home / Function/ suite_with_variants() — svelte Function Reference

suite_with_variants() — svelte Function Reference

Architecture documentation for the suite_with_variants() function in suite.ts from the svelte codebase.

Entity Profile

Dependency Diagram

graph TD
  9d3b8d45_a7dc_62e7_8c67_08d6de8f73fc["suite_with_variants()"]
  2b655554_f9cf_daf9_c56b_a99baafbe0fd["suite.ts"]
  9d3b8d45_a7dc_62e7_8c67_08d6de8f73fc -->|defined in| 2b655554_f9cf_daf9_c56b_a99baafbe0fd
  style 9d3b8d45_a7dc_62e7_8c67_08d6de8f73fc fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/svelte/tests/suite.ts lines 39–71

export function suite_with_variants<Test extends BaseTest, Variants extends string, Common>(
	variants: Variants[],
	should_skip_variant: (variant: Variants, config: Test, test_name: string) => boolean | 'no-test',
	common_setup: (config: Test, test_dir: string) => Promise<Common> | Common,
	fn: (config: Test, test_dir: string, variant: Variants, common: Common) => void
) {
	return {
		test: (config: Test) => config,
		run: async (cwd: string, samples_dir = 'samples') => {
			await for_each_dir<Test>(cwd, samples_dir, (config, dir) => {
				let called_common = false;
				let common: any = undefined;
				for (const variant of variants) {
					if (should_skip_variant(variant, config, dir) === 'no-test') {
						continue;
					}
					// TODO unify test interfaces
					const skip = config.skip || should_skip_variant(variant, config, dir);
					const solo = config.solo;
					let it_fn = skip ? it.skip : solo ? it.only : it;

					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);
					});
				}
			});
		}
	};
}

Domain

Subdomains

Frequently Asked Questions

What does suite_with_variants() do?
suite_with_variants() is a function in the svelte codebase, defined in packages/svelte/tests/suite.ts.
Where is suite_with_variants() defined?
suite_with_variants() is defined in packages/svelte/tests/suite.ts at line 39.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free