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/store-component-binding/_config.js

40 lines
740 B

import { Store } from '../../../../store.js';
const store = new Store({
name: 'world'
});
export default {
store,
html: `
<h1>Hello world!</h1>
<input>
`,
test(assert, component, target, window) {
const input = target.querySelector('input');
const event = new window.Event('input');
const changeRecord = [];
store.on('state', ({ changed, current }) => {
changeRecord.push({ changed, current });
});
input.value = 'everybody';
input.dispatchEvent(event);
assert.equal(store.get().name, 'everybody');
assert.htmlEqual(target.innerHTML, `
<h1>Hello everybody!</h1>
<input>
`);
assert.deepEqual(changeRecord, [
{
current: { name: 'everybody' },
changed: { name: true }
}
]);
}
};