Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
|
||||
import { providerDisplayNames } from '../domain/providers.js'
|
||||
|
||||
describe('providerDisplayNames', () => {
|
||||
it('returns bare names when all are unique', () => {
|
||||
expect(
|
||||
providerDisplayNames([
|
||||
{ name: 'Anthropic', slug: 'anthropic' },
|
||||
{ name: 'OpenAI', slug: 'openai' }
|
||||
])
|
||||
).toEqual(['Anthropic', 'OpenAI'])
|
||||
})
|
||||
|
||||
it('appends slug to every collision so the disambiguation is symmetric', () => {
|
||||
expect(
|
||||
providerDisplayNames([
|
||||
{ name: 'Kimi For Coding', slug: 'kimi-coding' },
|
||||
{ name: 'Kimi For Coding', slug: 'kimi-coding-cn' }
|
||||
])
|
||||
).toEqual(['Kimi For Coding (kimi-coding)', 'Kimi For Coding (kimi-coding-cn)'])
|
||||
})
|
||||
|
||||
it('only disambiguates the colliding group', () => {
|
||||
expect(
|
||||
providerDisplayNames([
|
||||
{ name: 'Anthropic', slug: 'anthropic' },
|
||||
{ name: 'Foo', slug: 'foo-a' },
|
||||
{ name: 'Foo', slug: 'foo-b' }
|
||||
])
|
||||
).toEqual(['Anthropic', 'Foo (foo-a)', 'Foo (foo-b)'])
|
||||
})
|
||||
|
||||
it('falls back to plain name if slug is empty', () => {
|
||||
expect(
|
||||
providerDisplayNames([
|
||||
{ name: 'Foo', slug: '' },
|
||||
{ name: 'Foo', slug: '' }
|
||||
])
|
||||
).toEqual(['Foo', 'Foo'])
|
||||
})
|
||||
|
||||
it('skips disambiguation when slug equals name', () => {
|
||||
expect(
|
||||
providerDisplayNames([
|
||||
{ name: 'foo', slug: 'foo' },
|
||||
{ name: 'foo', slug: 'foo' }
|
||||
])
|
||||
).toEqual(['foo', 'foo'])
|
||||
})
|
||||
|
||||
it('handles empty input', () => {
|
||||
expect(providerDisplayNames([])).toEqual([])
|
||||
})
|
||||
|
||||
it('preserves order', () => {
|
||||
const input = [
|
||||
{ name: 'Z', slug: 'z' },
|
||||
{ name: 'A', slug: 'a1' },
|
||||
{ name: 'A', slug: 'a2' }
|
||||
]
|
||||
|
||||
expect(providerDisplayNames(input)).toEqual(['Z', 'A (a1)', 'A (a2)'])
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user