mirror of https://github.com/sveltejs/svelte
parent
ee9ee5d4a1
commit
b5fd8ec004
@ -0,0 +1,56 @@
|
|||||||
|
export default {
|
||||||
|
html: `
|
||||||
|
<p>
|
||||||
|
<button>set handler 1</button>
|
||||||
|
<button>set handler 2</button>
|
||||||
|
</p>
|
||||||
|
<p>0</p>
|
||||||
|
<button>click</button>
|
||||||
|
`,
|
||||||
|
|
||||||
|
async test({ assert, component, target, window }) {
|
||||||
|
const [updateButton1, updateButton2, button] = target.querySelectorAll(
|
||||||
|
'button'
|
||||||
|
);
|
||||||
|
|
||||||
|
const event = new window.MouseEvent('click');
|
||||||
|
let err = "";
|
||||||
|
window.addEventListener('error', (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
err = e.message;
|
||||||
|
});
|
||||||
|
|
||||||
|
await button.dispatchEvent(event);
|
||||||
|
assert.equal(err, "", err);
|
||||||
|
assert.htmlEqual(target.innerHTML, `
|
||||||
|
<p>
|
||||||
|
<button>set handler 1</button>
|
||||||
|
<button>set handler 2</button>
|
||||||
|
</p>
|
||||||
|
<p>0</p>
|
||||||
|
<button>click</button>
|
||||||
|
`);
|
||||||
|
|
||||||
|
await updateButton1.dispatchEvent(event);
|
||||||
|
await button.dispatchEvent(event);
|
||||||
|
assert.htmlEqual(target.innerHTML, `
|
||||||
|
<p>
|
||||||
|
<button>set handler 1</button>
|
||||||
|
<button>set handler 2</button>
|
||||||
|
</p>
|
||||||
|
<p>1</p>
|
||||||
|
<button>click</button>
|
||||||
|
`);
|
||||||
|
|
||||||
|
await updateButton2.dispatchEvent(event);
|
||||||
|
await button.dispatchEvent(event);
|
||||||
|
assert.htmlEqual(target.innerHTML, `
|
||||||
|
<p>
|
||||||
|
<button>set handler 1</button>
|
||||||
|
<button>set handler 2</button>
|
||||||
|
</p>
|
||||||
|
<p>2</p>
|
||||||
|
<button>click</button>
|
||||||
|
`);
|
||||||
|
},
|
||||||
|
};
|
@ -0,0 +1,23 @@
|
|||||||
|
<script>
|
||||||
|
let clickHandler = {};
|
||||||
|
let number = 0;
|
||||||
|
|
||||||
|
function updateHandler1(){
|
||||||
|
clickHandler.f = () => number = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateHandler2(){
|
||||||
|
clickHandler.f = () => number = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<button on:click={updateHandler1}>set handler 1</button>
|
||||||
|
<button on:click={updateHandler2}>set handler 2</button>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>{ number }</p>
|
||||||
|
|
||||||
|
<button on:click={clickHandler.f}>click</button>
|
Loading…
Reference in new issue