Skip to content

Commit 4018b50

Browse files
committed
add separate test suite
1 parent b80eb3e commit 4018b50

File tree

3 files changed

+44
-0
lines changed

3 files changed

+44
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<script>
2+
let name = 'world'
3+
</script>
4+
5+
<h1>
6+
Hello {name}!
7+
</h1>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<script>
2+
let name = 'world';
3+
</script>
4+
5+
<h1>Hello {name}!</h1>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import * as fs from 'node:fs';
2+
import { assert, it } from 'vitest';
3+
import { parse, print } from 'svelte/compiler';
4+
import { try_load_json } from '../helpers.js';
5+
import { suite, type BaseTest } from '../suite.js';
6+
import { walk } from 'zimmerframe';
7+
import type { AST } from 'svelte/compiler';
8+
9+
interface ParserTest extends BaseTest {}
10+
11+
const { test, run } = suite<ParserTest>(async (config, cwd) => {
12+
const input = fs.readFileSync(`${cwd}/input.svelte`, 'utf-8');
13+
14+
const ast = parse(input, { modern: true });
15+
const output = print(ast);
16+
17+
// run `UPDATE_SNAPSHOTS=true pnpm test parser` to update parser tests
18+
if (process.env.UPDATE_SNAPSHOTS) {
19+
fs.writeFileSync(`${cwd}/output.svelte`, output.code);
20+
} else {
21+
fs.writeFileSync(`${cwd}/_actual.svelte`, output.code);
22+
23+
const file = `${cwd}/output.svelte`;
24+
25+
const expected = fs.existsSync(file) ? fs.readFileSync(file, 'utf-8') : '';
26+
assert.deepEqual(output.code, expected);
27+
}
28+
});
29+
30+
export { test };
31+
32+
await run(__dirname);

0 commit comments

Comments
 (0)