Something went wrong. Try again.
opencode v2 mirror
Something went wrong. Try again.
TypeScript
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950import { describe, expect, test } from "bun:test"import { createRoot } from "solid-js"import { createRefCountMap } from "./refcount"import { pathKey } from "@/workspaces/path-key"
describe("createRefCountMap", () => { test("removes an item after its last owner is disposed", () => { const removed: string[] = [] const map = createRefCountMap( (key) => key, (key) => removed.push(key), ) const first = createRoot((dispose) => { map("/project") return dispose }) const second = createRoot((dispose) => { map("/project") return dispose })
first() expect(removed).toEqual([]) second() expect(removed).toEqual(["/project"]) })
test("keeps equivalent path consumers until the last owner is disposed", () => { const removed: string[] = [] const map = createRefCountMap( (key) => key, (key) => removed.push(key), pathKey, ) const first = createRoot((dispose) => { map("C:\\repo") return dispose }) const second = createRoot((dispose) => { map("C:/repo/") return dispose })
first() expect(removed).toEqual([]) second() expect(removed).toEqual(["C:/repo"]) })})