mirror of
https://github.com/stablyai/orca.git
synced 2026-10-21 16:03:26 +00:00
73 lines
2.2 KiB
TypeScript
73 lines
2.2 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import {
|
|
resolveHostCodexSessionSourceHome,
|
|
resolveWslCodexSessionSourceHome
|
|
} from './codex-session-source-home'
|
|
|
|
describe('resolveHostCodexSessionSourceHome', () => {
|
|
it('returns undefined when no override is configured', () => {
|
|
expect(resolveHostCodexSessionSourceHome({})).toBeUndefined()
|
|
expect(resolveHostCodexSessionSourceHome({ codexSessionSourceHome: {} })).toBeUndefined()
|
|
})
|
|
|
|
it('returns undefined for blank/whitespace overrides so the default is kept', () => {
|
|
expect(
|
|
resolveHostCodexSessionSourceHome({ codexSessionSourceHome: { host: ' ' } })
|
|
).toBeUndefined()
|
|
})
|
|
|
|
it('returns the trimmed host override path', () => {
|
|
expect(
|
|
resolveHostCodexSessionSourceHome({ codexSessionSourceHome: { host: ' /custom/codex ' } })
|
|
).toBe('/custom/codex')
|
|
})
|
|
})
|
|
|
|
describe('resolveWslCodexSessionSourceHome', () => {
|
|
it('returns undefined when no per-distro override exists', () => {
|
|
expect(resolveWslCodexSessionSourceHome({}, 'Ubuntu')).toBeUndefined()
|
|
expect(
|
|
resolveWslCodexSessionSourceHome(
|
|
{ codexSessionSourceHome: { wsl: { Debian: '/home/me/.codex' } } },
|
|
'Ubuntu'
|
|
)
|
|
).toBeUndefined()
|
|
})
|
|
|
|
it('resolves a per-distro override for the matching distro', () => {
|
|
expect(
|
|
resolveWslCodexSessionSourceHome(
|
|
{ codexSessionSourceHome: { wsl: { Ubuntu: '/home/me/.config/codex' } } },
|
|
'Ubuntu'
|
|
)
|
|
).toBe('/home/me/.config/codex')
|
|
})
|
|
|
|
it('matches distro names case-insensitively, mirroring WSL', () => {
|
|
expect(
|
|
resolveWslCodexSessionSourceHome(
|
|
{ codexSessionSourceHome: { wsl: { Ubuntu: '/home/me/.config/codex' } } },
|
|
'ubuntu'
|
|
)
|
|
).toBe('/home/me/.config/codex')
|
|
})
|
|
|
|
it('ignores blank per-distro overrides so the default is kept', () => {
|
|
expect(
|
|
resolveWslCodexSessionSourceHome(
|
|
{ codexSessionSourceHome: { wsl: { Ubuntu: ' ' } } },
|
|
'Ubuntu'
|
|
)
|
|
).toBeUndefined()
|
|
})
|
|
|
|
it('does not leak the host override into WSL resolution', () => {
|
|
expect(
|
|
resolveWslCodexSessionSourceHome(
|
|
{ codexSessionSourceHome: { host: '/custom/codex' } },
|
|
'Ubuntu'
|
|
)
|
|
).toBeUndefined()
|
|
})
|
|
})
|