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. });