export default { props: { 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> `); }, };