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