From ff6615246c747d312f0065e4a8b01765dc4c559f Mon Sep 17 00:00:00 2001 From: xiaodong2008 Date: Sat, 12 Oct 2024 17:57:40 +0800 Subject: [PATCH] test(core/utils): add unit test for callUntilEnd, callPromiseUntilEnd --- .../core/__tests__/unit/utils/basic.test.ts | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 packages/core/__tests__/unit/utils/basic.test.ts 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); +});