diff --git a/packages/core/__tests__/unit/utils/basic.test.ts b/packages/core/__tests__/unit/utils/basic.test.ts new file mode 100644 index 000000000..f356f0ce4 --- /dev/null +++ b/packages/core/__tests__/unit/utils/basic.test.ts @@ -0,0 +1,33 @@ +import { callPromiseUntilEnd, callUntilEnd } from "@/main"; +import { expect, test } from "vitest"; + +test("Call until end", async () => { + const startT = Date.now(); + let i = 0; + await callUntilEnd(() => { + expect(Date.now() - startT).toBeGreaterThanOrEqual(100 * i); + return ++i === 10; + }, 100); + + expect(Date.now() - startT).toBeGreaterThanOrEqual(1000); + expect(i).toBe(10); +}); + +test("Call promise until end", async () => { + const startT = Date.now(); + let i = 0; + await callPromiseUntilEnd(async () => { + return new Promise((resolve) => + setTimeout(() => { + i++; + expect(Date.now() - startT).toBeGreaterThanOrEqual(100 * i * 2); + console.log(Date.now() - startT, i); + + resolve(i >= 10); + }, 100) + ); + }, 100); + + expect(Date.now() - startT).toBeGreaterThanOrEqual(2000); + expect(i).toBe(10); +});