import { describe, expect, test } from "bun:test" import { createRefreshQueue } from "./queue" import { directoryKey } from "./utils" const tick = () => new Promise((resolve) => setTimeout(resolve, 10)) describe("createRefreshQueue", () => { test("clears queued directories by normalized key", async () => { const calls: string[] = [] const queue = createRefreshQueue({ paused: () => false, key: directoryKey, bootstrap: async () => {}, bootstrapInstance: (directory) => { calls.push(directory) }, }) queue.push("C:\\tmp\\demo") queue.clear("C:/tmp/demo") await tick() expect(calls).toEqual([]) queue.dispose() }) test("passes the original directory to bootstrapInstance", async () => { const calls: string[] = [] const queue = createRefreshQueue({ paused: () => false, key: directoryKey, bootstrap: async () => {}, bootstrapInstance: (directory) => { calls.push(directory) }, }) queue.push("C:\\tmp\\demo") await tick() expect(calls).toEqual(["C:\\tmp\\demo"]) queue.dispose() }) })