You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte/test/runtime/samples/binding-input-text-deep-con.../_config.js

68 lines
1.1 KiB

export default {
get props() {
return {
prop: 'bar',
objects: [{ foo: 'a', bar: 'b', baz: 'c' }]
};
},
html: `
<input>
<pre>{"foo":"a","bar":"b","baz":"c"}</pre>
`,
ssrHtml: `
<input value=b>
<pre>{"foo":"a","bar":"b","baz":"c"}</pre>
`,
async test({ assert, component, target, window }) {
const input = target.querySelector('input');
const event = new window.Event('input');
assert.equal(input.value, 'b');
// edit bar
input.value = 'e';
await input.dispatchEvent(event);
assert.htmlEqual(
target.innerHTML,
`
<input>
<pre>{"foo":"a","bar":"e","baz":"c"}</pre>
`
);
// edit baz
component.prop = 'baz';
assert.equal(input.value, 'c');
input.value = 'f';
await input.dispatchEvent(event);
assert.htmlEqual(
target.innerHTML,
`
<input>
<pre>{"foo":"a","bar":"e","baz":"f"}</pre>
`
);
// edit foo
component.prop = 'foo';
assert.equal(input.value, 'a');
input.value = 'd';
await input.dispatchEvent(event);
assert.htmlEqual(
target.innerHTML,
`
<input>
<pre>{"foo":"d","bar":"e","baz":"f"}</pre>
`
);
}
};