more generic test

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

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

@ -1,23 +1,24 @@
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');
const button = el.shadowRoot.querySelector('button');
return new Promise(resolve => {
el.addEventListener('change', function changeHandler(evt) {
el.removeEventListener('change', changeHandler);
return new Promise((resolve, reject) => {
el.addEventListener('message', function changeHandler(evt) {
el.removeEventListener('message', changeHandler);
assert.equal(evt.target, el);
assert.equal(input.checked, true);
resolve();
try {
assert.equal(evt.target, el);
assert.equal(evt.detail.text, 'Hello!');
resolve();
} catch (err) {
reject(err);
}
});
label.dispatchEvent(new MouseEvent('click'));
button.dispatchEvent(new MouseEvent('click'));
});
}

Loading…
Cancel
Save