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/packages/svelte/tests/runtime-runes/samples/event-handler-invalid-values/_config.js

49 lines
1007 B

import { assertType } from 'vitest';
import { test } from '../../test';
export default test({
mode: ['client'],
compileOptions: {
dev: true
},
test({ assert, target, warnings, logs }) {
/** @type {any} */
let error = null;
const handler = (/** @type {any} */ e) => {
error = e.error;
e.stopImmediatePropagation();
};
window.addEventListener('error', handler, true);
const [b1, b2, b3] = target.querySelectorAll('button');
b1.click();
assert.deepEqual(logs, []);
assert.equal(error, null);
error = null;
logs.length = 0;
b2.click();
assert.deepEqual(logs, ['clicked']);
assert.equal(error, null);
error = null;
logs.length = 0;
b3.click();
assert.deepEqual(logs, []);
assert.deepEqual(warnings, [
'`click` handler at main.svelte:10:17 should be a function. Did you mean to add a leading `() =>`?'
]);
assert.isNotNull(error);
assert.match(error.message, /is not a function/);
window.removeEventListener('error', handler, true);
}
});