fix(app): start MCP servers only for open directories (#28937)
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import { describe, expect, test } from "bun:test"
|
||||
import { createRoot } from "solid-js"
|
||||
import { createRefCountMap } from "./refcount"
|
||||
import { pathKey } from "./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"])
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user