more generic test

pull/4142/head
hontas 6 years ago
parent 0b40585b7a
commit 9b69b6520b

@ -3,12 +3,14 @@
const dispatch = createEventDispatcher(); const dispatch = createEventDispatcher();
const handleChange = evt => { const sayHello = () => {
dispatch('change', evt); dispatch('message', {
text: 'Hello!'
});
}; };
</script> </script>
<svelte:options tag="custom-element" /> <svelte:options tag="custom-element" />
<label> <button on:click={sayHello}>
<input type="checkbox" on:change={handleChange} /> Click to say hello
</label> </button>

@ -1,23 +1,24 @@
import * as assert from 'assert'; import * as assert from 'assert';
import './main.svelte'; import './main.svelte';
console.log('console.log');
export default async function(target) { export default async function(target) {
target.innerHTML = '<custom-element></custom-element>'; target.innerHTML = '<custom-element></custom-element>';
const el = target.querySelector('custom-element'); const el = target.querySelector('custom-element');
const label = el.shadowRoot.querySelector('label'); const button = el.shadowRoot.querySelector('button');
const input = el.shadowRoot.querySelector('input');
return new Promise(resolve => { return new Promise((resolve, reject) => {
el.addEventListener('change', function changeHandler(evt) { el.addEventListener('message', function changeHandler(evt) {
el.removeEventListener('change', changeHandler); el.removeEventListener('message', changeHandler);
try {
assert.equal(evt.target, el); assert.equal(evt.target, el);
assert.equal(input.checked, true); assert.equal(evt.detail.text, 'Hello!');
resolve(); resolve();
} catch (err) {
reject(err);
}
}); });
label.dispatchEvent(new MouseEvent('click')); button.dispatchEvent(new MouseEvent('click'));
}); });
} }

Loading…
Cancel
Save