Home / File/ test.ts — svelte Source File

test.ts — svelte Source File

Architecture documentation for test.ts, a typescript file in the svelte codebase. 4 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  c210a869_1c62_dda7_dc50_6348d19db29e["test.ts"]
  b2df78f1_f7aa_6fef_0a5c_4dcf959880ff["../suite.js"]
  c210a869_1c62_dda7_dc50_6348d19db29e --> b2df78f1_f7aa_6fef_0a5c_4dcf959880ff
  f596e027_a951_36c9_7695_83acc4f0d6b9["node:fs"]
  c210a869_1c62_dda7_dc50_6348d19db29e --> f596e027_a951_36c9_7695_83acc4f0d6b9
  b63ddb92_634c_990b_eb1b_0bad8a4d434e["vitest"]
  c210a869_1c62_dda7_dc50_6348d19db29e --> b63ddb92_634c_990b_eb1b_0bad8a4d434e
  a8d49317_f479_a216_78e7_48c9e32499d5["compiler"]
  c210a869_1c62_dda7_dc50_6348d19db29e --> a8d49317_f479_a216_78e7_48c9e32499d5
  style c210a869_1c62_dda7_dc50_6348d19db29e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import * as fs from 'node:fs';
import { assert } from 'vitest';
import { parse, print } from 'svelte/compiler';
import { suite, type BaseTest } from '../suite.js';

interface PrintTest extends BaseTest {}

const { test, run } = suite<PrintTest>(async (config, cwd) => {
	const input = fs.readFileSync(`${cwd}/input.svelte`, 'utf-8');

	const ast = parse(input, { modern: true });
	const output = print(ast);
	const outputCode = output.code.endsWith('\n') ? output.code : output.code + '\n';

	// run `UPDATE_SNAPSHOTS=true pnpm test print` to update print tests
	if (process.env.UPDATE_SNAPSHOTS) {
		fs.writeFileSync(`${cwd}/output.svelte`, outputCode);
	} else {
		fs.writeFileSync(`${cwd}/_actual.svelte`, outputCode);

		const file = `${cwd}/output.svelte`;

		const expected = fs.existsSync(file) ? fs.readFileSync(file, 'utf-8') : '';
		assert.deepEqual(outputCode.trim().replaceAll('\r', ''), expected.trim().replaceAll('\r', ''));
	}
});

export { test };

await run(__dirname);

Domain

Types

Dependencies

  • ../suite.js
  • compiler
  • node:fs
  • vitest

Frequently Asked Questions

What does test.ts do?
test.ts is a source file in the svelte codebase, written in typescript. It belongs to the BuildSystem domain.
What does test.ts depend on?
test.ts imports 4 module(s): ../suite.js, compiler, node:fs, vitest.
Where is test.ts in the architecture?
test.ts is located at packages/svelte/tests/print/test.ts (domain: BuildSystem, directory: packages/svelte/tests/print).

Analyze Your Own Codebase

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

Try Supermodel Free