melt
Version:
The next generation of Melt UI. Built for Svelte 5.
28 lines (27 loc) • 619 B
JavaScript
import { flushSync } from "svelte";
import { test, vi } from "vitest";
export function testWithEffect(name, fn) {
return test(name, async () => {
let promise;
const cleanup = $effect.root(() => {
promise = fn();
});
try {
await promise;
}
finally {
cleanup();
}
});
}
export function vitestSetTimeoutWrapper(fn, timeout) {
setTimeout(async () => {
fn();
}, timeout + 1);
vi.advanceTimersByTime(timeout);
}
export function focus(node) {
if (node) {
flushSync(() => node.focus());
}
}