Skip to content

Commit 731ad9f

Browse files
committed
chore(test): add svelte4 syntax checks
1 parent c08983f commit 731ad9f

File tree

9 files changed

+49
-14
lines changed

9 files changed

+49
-14
lines changed

.prettierrc.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ export default {
2424
'.changeset/pre.json',
2525
'**/vite.config.js.timestamp-*.mjs',
2626
'packages/e2e-tests/dynamic-compile-options/src/components/A.svelte',
27-
'packages/playground/big/src/pages/**' // lots of generated files
27+
'packages/playground/big/src/pages/**', // lots of generated files
28+
'packages/e2e-tests/scan-deps/src/Svelte*.svelte' // various syntax tests that require no format
2829
],
2930
options: {
3031
rangeEnd: 0
Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
1-
import { e2eServer } from '~utils';
2-
3-
test('should not fail to discover dependencies exported from script module', async () => {
4-
expect(
5-
e2eServer.logs.server.err.some((logs) =>
6-
logs.match(/No matching export in "html:.+\/src\/Deps\.svelte" for import "something"/)
7-
)
8-
).toBe(false);
1+
import { e2eServer, getText } from '~utils';
2+
import { describe, expect, it } from 'vitest';
3+
describe('vite import scan', () => {
4+
it('should not fail to discover dependencies exported from script module', async () => {
5+
// vite logs an error if scan fails but continues, so validate no errors logged
6+
expect(
7+
e2eServer.logs.server.err.length,
8+
`unexpected errors:\n${e2eServer.logs.server.err.join('\n')}`
9+
).toBe(0);
10+
});
11+
it('should work with exports from module context', async () => {
12+
expect(await getText('#svelte5')).toBe('svelte5');
13+
expect(await getText('#svelte4double')).toBe('svelte4double');
14+
expect(await getText('#svelte4single')).toBe('svelte4single');
15+
expect(await getText('#svelte4none')).toBe('svelte4none');
16+
expect(await getText('#svelte4space')).toBe('svelte4space');
17+
});
918
});
Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
<script>
2-
import { something } from './Deps.svelte';
2+
import { svelte5 } from './Svelte5.svelte';
3+
import { svelte4double } from './Svelte4DoubleQuote.svelte';
4+
import { svelte4single } from './Svelte4SingleQuote.svelte';
5+
import { svelte4none } from './Svelte4NoQuote.svelte';
6+
import { svelte4space } from './Svelte4WithSpace.svelte';
37
</script>
48

5-
<p>{something}</p>
9+
<div id="svelte5">{svelte5}</div>
10+
<div id="svelte4double">{svelte4double}</div>
11+
<div id="svelte4single">{svelte4single}</div>
12+
<div id="svelte4none">{svelte4none}</div>
13+
<div id="svelte4space">{svelte4space}</div>

packages/e2e-tests/scan-deps/src/Deps.svelte

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<!-- eslint-disable-next-line svelte/valid-compile -->
2+
<script context="module">
3+
export const svelte4double = 'svelte4double';
4+
</script>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<!-- eslint-disable-next-line svelte/valid-compile -->
2+
<script context=module>
3+
export const svelte4none = 'svelte4none';
4+
</script>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<!-- eslint-disable-next-line svelte/valid-compile -->
2+
<script context='module'>
3+
export const svelte4single = 'svelte4single';
4+
</script>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<!-- prettier-ignore -->
2+
<!-- eslint-disable-next-line svelte/valid-compile -->
3+
<script context= "module">
4+
export const svelte4space = 'svelte4space';
5+
</script>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<script module>
2+
export const svelte5 = 'svelte5';
3+
</script>

0 commit comments

Comments
 (0)