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