Skip to content

Commit ed16aa2

Browse files
committed
fix: use compileOption.runes if defined + add other tests
1 parent 5b426bc commit ed16aa2

File tree

17 files changed

+158
-2
lines changed

17 files changed

+158
-2
lines changed

packages/svelte/tests/runtime-legacy/shared.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,10 @@ async function common_setup(cwd: string, runes: boolean | undefined, config: Run
158158
...config.compileOptions,
159159
immutable: config.immutable,
160160
accessors: 'accessors' in config ? config.accessors : true,
161-
runes
161+
runes:
162+
config.compileOptions && 'runes' in config.compileOptions
163+
? config.compileOptions.runes
164+
: runes
162165
};
163166

164167
// load_compiled can be used for debugging a test. It means the compiler will not run on the input

packages/svelte/tests/runtime-runes/samples/legacy-runes-ambiguous-explicit-false/_config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import { test } from '../../test';
33

44
export default test({
55
mode: ['client'],
6+
compileOptions: {
7+
runes: undefined
8+
},
69
async test({ assert, target }) {
710
const p = target.querySelector('p');
811
const btn = target.querySelector('button');
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { flushSync } from 'svelte';
2+
import { test } from '../../test';
3+
4+
export default test({
5+
mode: ['client'],
6+
compileOptions: {
7+
runes: undefined
8+
},
9+
async test({ assert, target }) {
10+
const p = target.querySelector('p');
11+
const btn = target.querySelector('button');
12+
flushSync(() => {
13+
btn?.click();
14+
});
15+
assert.equal(p?.innerHTML, '0');
16+
}
17+
});
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<script>
2+
import { get, set } from "./test.svelte.js";
3+
4+
$$props;
5+
</script>
6+
7+
<p>{get()}</p>
8+
9+
<button onclick={()=>set()}></button>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
let count = $state(0);
2+
3+
export function get() {
4+
return count;
5+
}
6+
7+
export function set() {
8+
count++;
9+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { flushSync } from 'svelte';
2+
import { test } from '../../test';
3+
4+
export default test({
5+
mode: ['client'],
6+
compileOptions: {
7+
runes: undefined
8+
},
9+
async test({ assert, target }) {
10+
const p = target.querySelector('p');
11+
const btn = target.querySelector('button');
12+
flushSync(() => {
13+
btn?.click();
14+
});
15+
assert.equal(p?.innerHTML, '0');
16+
}
17+
});
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<script>
2+
import { get, set } from "./test.svelte.js";
3+
4+
$$restProps;
5+
</script>
6+
7+
<p>{get()}</p>
8+
9+
<button onclick={()=>set()}></button>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
let count = $state(0);
2+
3+
export function get() {
4+
return count;
5+
}
6+
7+
export function set() {
8+
count++;
9+
}

packages/svelte/tests/runtime-runes/samples/legacy-runes-ambiguous-export-const/_config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import { test } from '../../test';
33

44
export default test({
55
mode: ['client'],
6+
compileOptions: {
7+
runes: undefined
8+
},
69
async test({ assert, target }) {
710
const p = target.querySelector('p');
811
const btn = target.querySelector('button');
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { flushSync } from 'svelte';
2+
import { test } from '../../test';
3+
4+
export default test({
5+
mode: ['client'],
6+
compileOptions: {
7+
runes: undefined
8+
},
9+
async test({ assert, target }) {
10+
const p = target.querySelector('p');
11+
const btn = target.querySelector('button');
12+
flushSync(() => {
13+
btn?.click();
14+
});
15+
assert.equal(p?.innerHTML, '0');
16+
}
17+
});

0 commit comments

Comments
 (0)