Skip to content

Commit 3cb7b79

Browse files
committed
chore: split tests
1 parent 954eb8d commit 3cb7b79

File tree

8 files changed

+129
-136
lines changed

8 files changed

+129
-136
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { flushSync } from 'svelte';
2+
import { test } from '../../test';
3+
4+
export default test({
5+
async test({ assert, target, logs }) {
6+
const [btn, btn2, btn3] = target.querySelectorAll('button');
7+
8+
flushSync(() => {
9+
btn.click();
10+
});
11+
assert.deepEqual(logs, ['arr']);
12+
13+
flushSync(() => {
14+
btn2.click();
15+
});
16+
assert.deepEqual(logs, ['arr', 'arr']);
17+
18+
flushSync(() => {
19+
btn3.click();
20+
});
21+
assert.deepEqual(logs, ['arr', 'arr', 'arr']);
22+
}
23+
});
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<script>
2+
let arr = $state([0,1,2], {
3+
onchange(){
4+
console.log("arr");
5+
}
6+
})
7+
</script>
8+
9+
<button onclick={()=> arr.push(arr.length)}>push</button>
10+
<button onclick={()=>arr.splice(0, 2)}>splice</button>
11+
<button onclick={()=>arr.sort((a,b)=>b-a)}>sort</button>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { flushSync } from 'svelte';
2+
import { test } from '../../test';
3+
4+
export default test({
5+
async test({ assert, target, logs }) {
6+
const [btn, btn2, btn3] = target.querySelectorAll('button');
7+
8+
assert.deepEqual(logs, ['constructor count', 'constructor proxy']);
9+
10+
logs.length = 0;
11+
12+
flushSync(() => {
13+
btn.click();
14+
});
15+
assert.deepEqual(logs, ['class count']);
16+
17+
flushSync(() => {
18+
btn2.click();
19+
});
20+
assert.deepEqual(logs, ['class count', 'class proxy']);
21+
22+
flushSync(() => {
23+
btn3.click();
24+
});
25+
assert.deepEqual(logs, ['class count', 'class proxy', 'class proxy']);
26+
}
27+
});
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<script>
2+
class Test{
3+
count = $state(0, {
4+
onchange(){
5+
console.log("class count");
6+
}
7+
})
8+
proxy = $state({count: 0}, {
9+
onchange(){
10+
console.log("class proxy");
11+
}
12+
})
13+
14+
#in_constructor = $state(0, {
15+
onchange(){
16+
console.log("constructor count");
17+
}
18+
});
19+
20+
#in_constructor_proxy = $state({ count: 0 }, {
21+
onchange(){
22+
console.log("constructor proxy");
23+
}
24+
});
25+
26+
constructor(){
27+
this.#in_constructor = 42;
28+
this.#in_constructor_proxy.count++;
29+
}
30+
}
31+
32+
const class_test = new Test();
33+
</script>
34+
35+
<button onclick={()=> class_test.count++}>{class_test.count}</button>
36+
<button onclick={()=> class_test.proxy.count++}>{class_test.proxy.count}</button>
37+
<button onclick={()=> class_test.proxy = {count: class_test.proxy.count+1}}>{class_test.proxy.count}</button>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { flushSync } from 'svelte';
2+
import { test } from '../../test';
3+
4+
export default test({
5+
async test({ assert, target, logs }) {
6+
const [btn, btn2] = target.querySelectorAll('button');
7+
8+
flushSync(() => {
9+
btn.click();
10+
});
11+
assert.deepEqual(logs, ['proxy']);
12+
13+
flushSync(() => {
14+
btn2.click();
15+
});
16+
assert.deepEqual(logs, ['proxy', 'proxy']);
17+
}
18+
});
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<script>
2+
let proxy = $state({count: 0}, {
3+
onchange(){
4+
console.log("proxy");
5+
}
6+
})
7+
</script>
8+
9+
<button onclick={()=> proxy.count++}>{proxy.count}</button>
10+
<button onclick={()=> proxy = {count: proxy.count+1}}>{proxy.count}</button>

packages/svelte/tests/runtime-runes/samples/state-onchange/_config.js

Lines changed: 2 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -3,89 +3,11 @@ import { test } from '../../test';
33

44
export default test({
55
async test({ assert, target, logs }) {
6-
const [btn, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9] = target.querySelectorAll('button');
7-
8-
assert.deepEqual(logs, ['constructor count', 'constructor proxy']);
9-
10-
logs.length = 0;
6+
const btn = target.querySelector('button');
117

128
flushSync(() => {
13-
btn.click();
9+
btn?.click();
1410
});
1511
assert.deepEqual(logs, ['count']);
16-
17-
flushSync(() => {
18-
btn2.click();
19-
});
20-
assert.deepEqual(logs, ['count', 'proxy']);
21-
22-
flushSync(() => {
23-
btn3.click();
24-
});
25-
assert.deepEqual(logs, ['count', 'proxy', 'proxy']);
26-
27-
flushSync(() => {
28-
btn4.click();
29-
});
30-
assert.deepEqual(logs, ['count', 'proxy', 'proxy', 'class count']);
31-
32-
flushSync(() => {
33-
btn5.click();
34-
});
35-
assert.deepEqual(logs, ['count', 'proxy', 'proxy', 'class count', 'class proxy']);
36-
37-
flushSync(() => {
38-
btn6.click();
39-
});
40-
assert.deepEqual(logs, [
41-
'count',
42-
'proxy',
43-
'proxy',
44-
'class count',
45-
'class proxy',
46-
'class proxy'
47-
]);
48-
49-
flushSync(() => {
50-
btn7.click();
51-
});
52-
assert.deepEqual(logs, [
53-
'count',
54-
'proxy',
55-
'proxy',
56-
'class count',
57-
'class proxy',
58-
'class proxy',
59-
'arr'
60-
]);
61-
62-
flushSync(() => {
63-
btn8.click();
64-
});
65-
assert.deepEqual(logs, [
66-
'count',
67-
'proxy',
68-
'proxy',
69-
'class count',
70-
'class proxy',
71-
'class proxy',
72-
'arr',
73-
'arr'
74-
]);
75-
76-
flushSync(() => {
77-
btn9.click();
78-
});
79-
assert.deepEqual(logs, [
80-
'count',
81-
'proxy',
82-
'proxy',
83-
'class count',
84-
'class proxy',
85-
'class proxy',
86-
'arr',
87-
'arr',
88-
'arr'
89-
]);
9012
}
9113
});

packages/svelte/tests/runtime-runes/samples/state-onchange/main.svelte

Lines changed: 1 addition & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -4,61 +4,6 @@
44
console.log("count");
55
}
66
})
7-
8-
let proxy = $state({count: 0}, {
9-
onchange(){
10-
console.log("proxy");
11-
}
12-
})
13-
14-
class Test{
15-
count = $state(0, {
16-
onchange(){
17-
console.log("class count");
18-
}
19-
})
20-
proxy = $state({count: 0}, {
21-
onchange(){
22-
console.log("class proxy");
23-
}
24-
})
25-
26-
#in_constructor = $state(0, {
27-
onchange(){
28-
console.log("constructor count");
29-
}
30-
});
31-
32-
#in_constructor_proxy = $state({ count: 0 }, {
33-
onchange(){
34-
console.log("constructor proxy");
35-
}
36-
});
37-
38-
39-
constructor(){
40-
this.#in_constructor = 42;
41-
this.#in_constructor_proxy.count++;
42-
}
43-
}
44-
45-
const class_test = new Test();
46-
47-
let arr = $state([0,1,2], {
48-
onchange(){
49-
console.log("arr");
50-
}
51-
})
527
</script>
538

54-
<button onclick={()=> count++}>{count}</button>
55-
<button onclick={()=> proxy.count++}>{proxy.count}</button>
56-
<button onclick={()=> proxy = {count: proxy.count+1}}>{proxy.count}</button>
57-
58-
<button onclick={()=> class_test.count++}>{class_test.count}</button>
59-
<button onclick={()=> class_test.proxy.count++}>{class_test.proxy.count}</button>
60-
<button onclick={()=> class_test.proxy = {count: class_test.proxy.count+1}}>{class_test.proxy.count}</button>
61-
62-
<button onclick={()=> arr.push(arr.length)}>push</button>
63-
<button onclick={()=>arr.splice(0, 2)}>splice</button>
64-
<button onclick={()=>arr.sort((a,b)=>b-a)}>sort</button>
9+
<button onclick={()=> count++}>{count}</button>

0 commit comments

Comments
 (0)