vsCodeSelectorUtils.test.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { stringifyVsCodeLmModelSelector, SELECTOR_SEPARATOR } from "../vsCodeSelectorUtils"
  2. import { LanguageModelChatSelector } from "vscode"
  3. describe("vsCodeSelectorUtils", () => {
  4. describe("stringifyVsCodeLmModelSelector", () => {
  5. it("should join all defined selector properties with separator", () => {
  6. const selector: LanguageModelChatSelector = {
  7. vendor: "test-vendor",
  8. family: "test-family",
  9. version: "v1",
  10. id: "test-id",
  11. }
  12. const result = stringifyVsCodeLmModelSelector(selector)
  13. expect(result).toBe("test-vendor/test-family/v1/test-id")
  14. })
  15. it("should skip undefined properties", () => {
  16. const selector: LanguageModelChatSelector = {
  17. vendor: "test-vendor",
  18. family: "test-family",
  19. }
  20. const result = stringifyVsCodeLmModelSelector(selector)
  21. expect(result).toBe("test-vendor/test-family")
  22. })
  23. it("should handle empty selector", () => {
  24. const selector: LanguageModelChatSelector = {}
  25. const result = stringifyVsCodeLmModelSelector(selector)
  26. expect(result).toBe("")
  27. })
  28. it("should handle selector with only one property", () => {
  29. const selector: LanguageModelChatSelector = {
  30. vendor: "test-vendor",
  31. }
  32. const result = stringifyVsCodeLmModelSelector(selector)
  33. expect(result).toBe("test-vendor")
  34. })
  35. })
  36. })