perf(test): remove timer callbacks in command queue tests
This commit is contained in:
@@ -84,9 +84,12 @@ describe("command queue", () => {
|
||||
|
||||
vi.useFakeTimers();
|
||||
try {
|
||||
// First task holds the queue long enough to trigger wait notice.
|
||||
let releaseFirst!: () => void;
|
||||
const blocker = new Promise<void>((resolve) => {
|
||||
releaseFirst = resolve;
|
||||
});
|
||||
const first = enqueueCommand(async () => {
|
||||
await new Promise((resolve) => setTimeout(resolve, 8));
|
||||
await blocker;
|
||||
});
|
||||
|
||||
const second = enqueueCommand(async () => {}, {
|
||||
@@ -97,7 +100,8 @@ describe("command queue", () => {
|
||||
},
|
||||
});
|
||||
|
||||
await vi.advanceTimersByTimeAsync(30);
|
||||
await vi.advanceTimersByTimeAsync(6);
|
||||
releaseFirst();
|
||||
await Promise.all([first, second]);
|
||||
|
||||
expect(waited).not.toBeNull();
|
||||
@@ -144,9 +148,9 @@ describe("command queue", () => {
|
||||
try {
|
||||
const drainPromise = waitForActiveTasks(5000);
|
||||
|
||||
// Resolve the blocker after a short delay.
|
||||
setTimeout(() => resolve1(), 10);
|
||||
await vi.advanceTimersByTimeAsync(100);
|
||||
await vi.advanceTimersByTimeAsync(50);
|
||||
resolve1();
|
||||
await vi.advanceTimersByTimeAsync(50);
|
||||
|
||||
const { drained } = await drainPromise;
|
||||
expect(drained).toBe(true);
|
||||
|
||||
Reference in New Issue
Block a user