mirror of https://github.com/sveltejs/svelte
parent
6ebffd2882
commit
0b40585b7a
@ -0,0 +1,14 @@
|
|||||||
|
<script>
|
||||||
|
import { createEventDispatcher } from 'svelte';
|
||||||
|
|
||||||
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
|
const handleChange = evt => {
|
||||||
|
dispatch('change', evt);
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<svelte:options tag="custom-element" />
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" on:change={handleChange} />
|
||||||
|
</label>
|
@ -0,0 +1,23 @@
|
|||||||
|
import * as assert from 'assert';
|
||||||
|
import './main.svelte';
|
||||||
|
|
||||||
|
console.log('console.log');
|
||||||
|
|
||||||
|
export default async function(target) {
|
||||||
|
target.innerHTML = '<custom-element></custom-element>';
|
||||||
|
const el = target.querySelector('custom-element');
|
||||||
|
const label = el.shadowRoot.querySelector('label');
|
||||||
|
const input = el.shadowRoot.querySelector('input');
|
||||||
|
|
||||||
|
return new Promise(resolve => {
|
||||||
|
el.addEventListener('change', function changeHandler(evt) {
|
||||||
|
el.removeEventListener('change', changeHandler);
|
||||||
|
|
||||||
|
assert.equal(evt.target, el);
|
||||||
|
assert.equal(input.checked, true);
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
|
||||||
|
label.dispatchEvent(new MouseEvent('click'));
|
||||||
|
});
|
||||||
|
}
|
Loading…
Reference in new issue