You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte/test/custom-elements/samples/dispatch/test.js

25 lines
656 B

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