mirror of https://github.com/sveltejs/svelte
parent
b80eb3e297
commit
4018b50247
@ -0,0 +1,7 @@
|
|||||||
|
<script>
|
||||||
|
let name = 'world'
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<h1>
|
||||||
|
Hello {name}!
|
||||||
|
</h1>
|
@ -0,0 +1,5 @@
|
|||||||
|
<script>
|
||||||
|
let name = 'world';
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<h1>Hello {name}!</h1>
|
@ -0,0 +1,32 @@
|
|||||||
|
import * as fs from 'node:fs';
|
||||||
|
import { assert, it } from 'vitest';
|
||||||
|
import { parse, print } from 'svelte/compiler';
|
||||||
|
import { try_load_json } from '../helpers.js';
|
||||||
|
import { suite, type BaseTest } from '../suite.js';
|
||||||
|
import { walk } from 'zimmerframe';
|
||||||
|
import type { AST } from 'svelte/compiler';
|
||||||
|
|
||||||
|
interface ParserTest extends BaseTest {}
|
||||||
|
|
||||||
|
const { test, run } = suite<ParserTest>(async (config, cwd) => {
|
||||||
|
const input = fs.readFileSync(`${cwd}/input.svelte`, 'utf-8');
|
||||||
|
|
||||||
|
const ast = parse(input, { modern: true });
|
||||||
|
const output = print(ast);
|
||||||
|
|
||||||
|
// run `UPDATE_SNAPSHOTS=true pnpm test parser` to update parser tests
|
||||||
|
if (process.env.UPDATE_SNAPSHOTS) {
|
||||||
|
fs.writeFileSync(`${cwd}/output.svelte`, output.code);
|
||||||
|
} else {
|
||||||
|
fs.writeFileSync(`${cwd}/_actual.svelte`, output.code);
|
||||||
|
|
||||||
|
const file = `${cwd}/output.svelte`;
|
||||||
|
|
||||||
|
const expected = fs.existsSync(file) ? fs.readFileSync(file, 'utf-8') : '';
|
||||||
|
assert.deepEqual(output.code, expected);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
export { test };
|
||||||
|
|
||||||
|
await run(__dirname);
|
Loading…
Reference in new issue