Skip to content

Commit 0d86023

Browse files
committed
fix test
1 parent 3eebc3a commit 0d86023

File tree

2 files changed

+16
-185
lines changed

2 files changed

+16
-185
lines changed

packages/svelte/tests/runtime-runes/samples/form-default-value/_config.js

Lines changed: 8 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,8 @@ export default test({
3535
const after_reset = [];
3636

3737
const reset = /** @type {HTMLInputElement} */ (target.querySelector('input[type=reset]'));
38-
const [
39-
test1,
40-
test2,
41-
test3,
42-
test4,
43-
test5,
44-
test6,
45-
test7,
46-
test8,
47-
test9,
48-
test10,
49-
test11,
50-
test12,
51-
test13
52-
] = target.querySelectorAll('div');
53-
const [test14, test15, test16, test17] = target.querySelectorAll('select');
38+
const [test1, test2, test3, test4, test5] = target.querySelectorAll('div');
39+
const [test6, test7, test8, test9] = target.querySelectorAll('select');
5440

5541
{
5642
/** @type {NodeListOf<HTMLInputElement | HTMLTextAreaElement>} */
@@ -118,84 +104,12 @@ export default test({
118104
after_reset.push(() => check_inputs(inputs, 'checked', false));
119105
}
120106

121-
{
122-
/** @type {NodeListOf<HTMLInputElement>} */
123-
const inputs = test6.querySelectorAll('input');
124-
check_inputs(inputs, 'checked', [false, true, false]);
125-
126-
set_input(inputs[0], 'checked', true);
127-
flushSync();
128-
check_inputs(inputs, 'checked', [true, false, false]);
129-
130-
after_reset.push(() => check_inputs(inputs, 'checked', [false, true, false]));
131-
}
132-
133-
{
134-
/** @type {NodeListOf<HTMLInputElement>} */
135-
const inputs = test7.querySelectorAll('input');
136-
check_inputs(inputs, 'checked', [false, true, false]);
137-
138-
set_input(inputs[0], 'checked', true);
139-
flushSync();
140-
check_inputs(inputs, 'checked', [true, false, false]);
141-
142-
after_reset.push(() => check_inputs(inputs, 'checked', [false, true, false]));
143-
}
144-
145-
{
146-
/** @type {NodeListOf<HTMLInputElement>} */
147-
const inputs = test8.querySelectorAll('input');
148-
check_inputs(inputs, 'checked', [true, false, false]);
149-
150-
set_input(inputs[3], 'checked', true);
151-
flushSync();
152-
check_inputs(inputs, 'checked', [false, false, true]);
153-
154-
after_reset.push(() => check_inputs(inputs, 'checked', [false, true, false]));
155-
}
156-
157-
{
158-
/** @type {NodeListOf<HTMLInputElement>} */
159-
const inputs = test9.querySelectorAll('input');
160-
check_inputs(inputs, 'checked', [true, false, false]);
161-
162-
set_input(inputs[3], 'checked', true);
163-
flushSync();
164-
check_inputs(inputs, 'checked', [false, false, true]);
165-
166-
after_reset.push(() => check_inputs(inputs, 'checked', [false, true, false]));
167-
}
168-
169-
{
170-
/** @type {NodeListOf<HTMLInputElement>} */
171-
const inputs = test12.querySelectorAll('input');
172-
check_inputs(inputs, 'checked', [true, false, false]);
173-
174-
set_input(inputs[3], 'checked', true);
175-
flushSync();
176-
check_inputs(inputs, 'checked', [true, false, true]);
177-
178-
after_reset.push(() => check_inputs(inputs, 'checked', [false, true, false]));
179-
}
180-
181-
{
182-
/** @type {NodeListOf<HTMLInputElement>} */
183-
const inputs = test13.querySelectorAll('input');
184-
check_inputs(inputs, 'checked', [true, false, false]);
185-
186-
set_input(inputs[3], 'checked', true);
187-
flushSync();
188-
check_inputs(inputs, 'checked', [true, false, true]);
189-
190-
after_reset.push(() => check_inputs(inputs, 'checked', [false, true, false]));
191-
}
192-
193107
{
194108
/** @type {NodeListOf<HTMLOptionElement>} */
195-
const options = test14.querySelectorAll('option');
109+
const options = test6.querySelectorAll('option');
196110
check_inputs(options, 'selected', [false, true, false]);
197111

198-
select_option(options[3]);
112+
select_option(options[2]);
199113
flushSync();
200114
check_inputs(options, 'selected', [false, false, true]);
201115

@@ -204,10 +118,10 @@ export default test({
204118

205119
{
206120
/** @type {NodeListOf<HTMLOptionElement>} */
207-
const options = test15.querySelectorAll('option');
121+
const options = test7.querySelectorAll('option');
208122
check_inputs(options, 'selected', [false, true, false]);
209123

210-
select_option(options[3]);
124+
select_option(options[2]);
211125
flushSync();
212126
check_inputs(options, 'selected', [false, false, true]);
213127

@@ -216,7 +130,7 @@ export default test({
216130

217131
{
218132
/** @type {NodeListOf<HTMLOptionElement>} */
219-
const options = test16.querySelectorAll('option');
133+
const options = test8.querySelectorAll('option');
220134
check_inputs(options, 'selected', [false, false, true]);
221135

222136
select_option(options[0]);
@@ -228,7 +142,7 @@ export default test({
228142

229143
{
230144
/** @type {NodeListOf<HTMLOptionElement>} */
231-
const options = test17.querySelectorAll('option');
145+
const options = test9.querySelectorAll('option');
232146
check_inputs(options, 'selected', [false, false, true]);
233147

234148
select_option(options[0]);

packages/svelte/tests/runtime-runes/samples/form-default-value/main.svelte

Lines changed: 8 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -26,24 +26,14 @@
2626
let checked8 = $state(false);
2727
let checked9 = $state(true);
2828
let checked10 = $state(true);
29-
30-
let group1 = $state();
31-
let group2 = $state();
32-
let group3 = $state('a');
33-
let group4 = $state('a');
34-
let group5 = $state();
35-
let group6 = $state();
36-
let group7 = $state(['a']);
37-
let group8 = $state(['a']);
29+
3830
3931
let selected1 = $state();
4032
let selected2 = $state();
4133
let selected3 = $state('c');
4234
let selected4 = $state('c');
43-
let selected5 = $state();
44-
let selected6 = $state();
45-
let selected7 = $state(['c']);
46-
let selected8 = $state(['c']);
35+
let selected5 = $state(['c']);
36+
let selected6 = $state(['c']);
4737
4838
let defaultValue = $state('x');
4939
let defaultChecked = $state(true);
@@ -98,66 +88,7 @@
9888
<input type="checkbox" defaultChecked={false} bind:checked={checked10} />
9989
</div>
10090

101-
<p>Input group (radio)</p>
102-
<!-- group with static checked, group=undefined -->
103-
<div class="test-6">
104-
<input type="radio" value="a" bind:group={group1} />
105-
<input type="radio" value="b" bind:group={group1} checked />
106-
<input type="radio" value="c" bind:group={group1} />
107-
</div>
108-
109-
<!-- group with dynamic checked, group=undefined -->
110-
<div class="test-7">
111-
<input type="radio" value="a" bind:group={group2} />
112-
<input type="radio" value="b" bind:group={group2} checked={defaultChecked} />
113-
<input type="radio" value="c" bind:group={group2} />
114-
</div>
115-
116-
<!-- group with static checked, group=something else than default -->
117-
<div class="test-8">
118-
<input type="radio" value="a" bind:group={group3} />
119-
<input type="radio" value="b" bind:group={group3} checked />
120-
<input type="radio" value="c" bind:group={group3} />
121-
</div>
122-
123-
<!-- group with dynamic checked, group=something else than default -->
124-
<div class="test-9">
125-
<input type="radio" value="a" bind:group={group4} />
126-
<input type="radio" value="b" bind:group={group4} checked={defaultChecked} />
127-
<input type="radio" value="c" bind:group={group4} />
128-
</div>
129-
130-
<p>Input group (checkbox)</p>
131-
<!-- TODO, right now we say "group is undefined -> checked takes precedence";
132-
that does not work with checkbox groups currently because it requires an empty array.
133-
What to do? -->
134-
<!-- group with static checked, group=undefined -->
135-
<div class="test-10">
136-
<!-- <input type="checkbox" value="a" bind:group={group5} />
137-
<input type="checkbox" value="b" bind:group={group5} checked />
138-
<input type="checkbox" value="c" bind:group={group5} /> -->
139-
</div>
140-
141-
<!-- group with dynamic checked, group=undefined -->
142-
<div class="test-11">
143-
<!-- <input type="checkbox" value="a" bind:group={group6} />
144-
<input type="checkbox" value="b" bind:group={group6} checked={defaultChecked} />
145-
<input type="checkbox" value="c" bind:group={group6} /> -->
146-
</div>
147-
148-
<!-- group with static checked, group=something else than default -->
149-
<div class="test-12">
150-
<input type="checkbox" value="a" bind:group={group7} />
151-
<input type="checkbox" value="b" bind:group={group7} checked />
152-
<input type="checkbox" value="c" bind:group={group7} />
153-
</div>
154-
155-
<!-- group with dynamic checked, group=something else than default -->
156-
<div class="test-13">
157-
<input type="checkbox" value="a" bind:group={group8} />
158-
<input type="checkbox" value="b" bind:group={group8} checked={defaultChecked} />
159-
<input type="checkbox" value="c" bind:group={group8} />
160-
</div>
91+
<!-- no support for bind:group; too complex + we may deprecate it in favor of bind:checked={get,set} -->
16192

16293
<p>Select (single)</p>
16394
<!-- select with static checked, value=undefined-->
@@ -189,32 +120,18 @@
189120
</select>
190121

191122
<p>Select (multiple)</p>
192-
<!-- TODO, right now we say "value is undefined -> selected takes precedence";
193-
that does not work with multiple currently because it requires an empty array.
194-
What to do? -->
195-
<!-- select with static checked, value=undefined-->
196-
<!-- <select multiple bind:value={selected5}>
197-
<option value="a">A</option>
198-
<option value="b" selected>B</option>
199-
<option value="c">C</option>
200-
</select> -->
201-
202-
<!-- select with dynamic checked, value=undefined-->
203-
<!-- <select multiple bind:value={selected6}>
204-
<option value="a">A</option>
205-
<option value="b" selected={defaultChecked}>B</option>
206-
<option value="c">C</option>
207-
</select> -->
123+
<!-- There's no possibility to have the selected attribute influence a multi select initially,
124+
because we require the value to be an array -->
208125

209126
<!-- select with static checked, value=something else than default-->
210-
<select multiple bind:value={selected7}>
127+
<select multiple bind:value={selected5}>
211128
<option value="a">A</option>
212129
<option value="b" selected>B</option>
213130
<option value="c">C</option>
214131
</select>
215132

216133
<!-- select with dynamic checked, value=something else than default-->
217-
<select multiple bind:value={selected8}>
134+
<select multiple bind:value={selected6}>
218135
<option value="a">A</option>
219136
<option value="b" selected={defaultChecked}>B</option>
220137
<option value="c">C</option>

0 commit comments

Comments
 (0)