1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| import {
| parse,
| compileScript,
| type SFCParseOptions,
| type SFCScriptCompileOptions
| } from '../src'
| import { parse as babelParse } from '@babel/parser'
|
| export const mockId = 'xxxxxxxx'
|
| export function compile(
| source: string,
| options?: Partial<SFCScriptCompileOptions>,
| parseOptions?: Partial<SFCParseOptions>
| ) {
| const sfc = parse({
| ...parseOptions,
| source
| })
| return compileScript(sfc, { id: mockId, ...options })
| }
|
| export function assertCode(code: string) {
| // parse the generated code to make sure it is valid
| try {
| babelParse(code, {
| sourceType: 'module',
| plugins: ['typescript']
| })
| } catch (e: any) {
| console.log(code)
| throw e
| }
| expect(code).toMatchSnapshot()
| }
|
|