Files
Roo-Code/src/shared/__tests__/vsCodeSelectorUtils.test.ts
2025-01-17 14:11:28 -05:00

45 lines
1.3 KiB
TypeScript

import { stringifyVsCodeLmModelSelector, SELECTOR_SEPARATOR } from "../vsCodeSelectorUtils"
import { LanguageModelChatSelector } from "vscode"
describe("vsCodeSelectorUtils", () => {
describe("stringifyVsCodeLmModelSelector", () => {
it("should join all defined selector properties with separator", () => {
const selector: LanguageModelChatSelector = {
vendor: "test-vendor",
family: "test-family",
version: "v1",
id: "test-id",
}
const result = stringifyVsCodeLmModelSelector(selector)
expect(result).toBe("test-vendor/test-family/v1/test-id")
})
it("should skip undefined properties", () => {
const selector: LanguageModelChatSelector = {
vendor: "test-vendor",
family: "test-family",
}
const result = stringifyVsCodeLmModelSelector(selector)
expect(result).toBe("test-vendor/test-family")
})
it("should handle empty selector", () => {
const selector: LanguageModelChatSelector = {}
const result = stringifyVsCodeLmModelSelector(selector)
expect(result).toBe("")
})
it("should handle selector with only one property", () => {
const selector: LanguageModelChatSelector = {
vendor: "test-vendor",
}
const result = stringifyVsCodeLmModelSelector(selector)
expect(result).toBe("test-vendor")
})
})
})