mirror of https://github.com/sveltejs/svelte
Fixes: https://github.com/sveltejs/svelte/issues/6860pull/6883/head
parent
990c21f7f3
commit
50f1ce2618
@ -0,0 +1,63 @@
|
||||
export default {
|
||||
props: {
|
||||
arr: [{p: 'foo', val: 'val1', id: 'id-1'}, {p: 'bar', val: 'val2', id: 'id-2'}]
|
||||
},
|
||||
|
||||
html: `
|
||||
<input placeholder="foo">
|
||||
{"val":"val1","id":"id-1"}
|
||||
<br>
|
||||
<input placeholder="bar">
|
||||
{"val":"val2","id":"id-2"}
|
||||
<br>
|
||||
`,
|
||||
|
||||
ssrHtml: `
|
||||
<input placeholder="foo" value="val1">
|
||||
{"val":"val1","id":"id-1"}
|
||||
<br>
|
||||
<input placeholder="bar" value="val2">
|
||||
{"val":"val2","id":"id-2"}
|
||||
<br>
|
||||
`,
|
||||
|
||||
async test({ assert, component, target, window }) {
|
||||
const inputs = target.querySelectorAll('input');
|
||||
|
||||
inputs[0].value = 'val3';
|
||||
await inputs[0].dispatchEvent(new window.Event('input'));
|
||||
|
||||
const { arr } = component;
|
||||
|
||||
assert.deepEqual(arr, [
|
||||
{p: 'foo', val: 'val3', id: 'id-1'},
|
||||
{p: 'bar', val: 'val2', id: 'id-2'}
|
||||
]);
|
||||
|
||||
assert.htmlEqual(target.innerHTML, `
|
||||
<input placeholder="foo">
|
||||
{"val":"val3","id":"id-1"}
|
||||
<br>
|
||||
<input placeholder="bar">
|
||||
{"val":"val2","id":"id-2"}
|
||||
<br>
|
||||
`);
|
||||
|
||||
inputs[1].value = 'val4';
|
||||
await inputs[1].dispatchEvent(new window.Event('input'));
|
||||
|
||||
assert.deepEqual(arr, [
|
||||
{p: 'foo', val: 'val3', id: 'id-1'},
|
||||
{p: 'bar', val: 'val4', id: 'id-2'}
|
||||
]);
|
||||
|
||||
assert.htmlEqual(target.innerHTML, `
|
||||
<input placeholder="foo">
|
||||
{"val":"val3","id":"id-1"}
|
||||
<br>
|
||||
<input placeholder="bar">
|
||||
{"val":"val4","id":"id-2"}
|
||||
<br>
|
||||
`);
|
||||
}
|
||||
};
|
||||
@ -0,0 +1,9 @@
|
||||
<script>
|
||||
export let arr;
|
||||
</script>
|
||||
|
||||
{#each arr as {p, ...rest} (rest.id)}
|
||||
<input bind:value={rest.val} placeholder={p}/>
|
||||
{JSON.stringify(rest)}
|
||||
<br>
|
||||
{/each}
|
||||
Loading…
Reference in new issue