This commit is contained in:
+3
@@ -0,0 +1,3 @@
|
||||
export declare function testWithEffect(name: string, fn: () => void | Promise<void>): void;
|
||||
export declare function effectRootScope(fn: () => void | Promise<void>): void | Promise<void>;
|
||||
export declare function vitestSetTimeoutWrapper(fn: () => void, timeout: number): void;
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
import { test, vi } from "vitest";
|
||||
export function testWithEffect(name, fn) {
|
||||
test(name, () => effectRootScope(fn));
|
||||
}
|
||||
export function effectRootScope(fn) {
|
||||
let promise;
|
||||
const cleanup = $effect.root(() => {
|
||||
promise = fn();
|
||||
});
|
||||
if (promise instanceof Promise) {
|
||||
return promise.finally(cleanup);
|
||||
}
|
||||
else {
|
||||
cleanup();
|
||||
}
|
||||
}
|
||||
export function vitestSetTimeoutWrapper(fn, timeout) {
|
||||
setTimeout(() => {
|
||||
fn();
|
||||
}, timeout);
|
||||
vi.advanceTimersByTime(timeout);
|
||||
}
|
||||
Reference in New Issue
Block a user