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-com.../_config.js

56 lines
1010 B

export default {
data: {
prop: 'bar',
obj: {
foo: 'a',
bar: 'b',
baz: 'c'
}
},
html: `
<input>
<pre>{"foo":"a","bar":"b","baz":"c"}</pre>
`,
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';
input.dispatchEvent( event );
assert.htmlEqual( target.innerHTML, `
<input>
<pre>{"foo":"a","bar":"e","baz":"c"}</pre>
` );
// edit baz
component.set({ prop: 'baz' });
assert.equal( input.value, 'c' );
input.value = 'f';
input.dispatchEvent( event );
assert.htmlEqual( target.innerHTML, `
<input>
<pre>{"foo":"a","bar":"e","baz":"f"}</pre>
` );
// edit foo
component.set({ prop: 'foo' });
assert.equal( input.value, 'a' );
input.value = 'd';
input.dispatchEvent( event );
assert.htmlEqual( target.innerHTML, `
<input>
<pre>{"foo":"d","bar":"e","baz":"f"}</pre>
` );
}
};