import { describe, test, expect } from "bun:test"; import { parseToolsInput } from "../../src/utils/parse-tools-input"; describe("parseToolsInput", () => { test("returns empty array for undefined", () => { expect(parseToolsInput(undefined)).toEqual([]); }); test("returns empty array for empty string", () => { expect(parseToolsInput("")).toEqual([]); }); test("parses single tool", () => { expect(parseToolsInput("WebSearch")).toEqual(["WebSearch"]); }); test("parses comma-separated tools", () => { expect(parseToolsInput("WebSearch,WebFetch")).toEqual([ "WebSearch", "WebFetch", ]); }); test("trims whitespace around tools", () => { expect(parseToolsInput(" WebSearch , WebFetch ")).toEqual([ "WebSearch", "WebFetch", ]); }); test("filters empty entries from trailing commas", () => { expect(parseToolsInput("WebSearch,,WebFetch,")).toEqual([ "WebSearch", "WebFetch", ]); }); test("handles tool patterns with special characters", () => { expect( parseToolsInput("Bash(npm test:*),mcp__github_ci__get_ci_status"), ).toEqual(["Bash(npm test:*)", "mcp__github_ci__get_ci_status"]); }); });