26 lines
813 B
TypeScript
26 lines
813 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { candidateFromItem, serializeIdeReference } from '../src/client.js'
|
|
|
|
const item = {
|
|
path: 'F:\\project\\a&b.ts',
|
|
label: 'a&b.ts',
|
|
dirty: true,
|
|
ide: 'vscode' as const,
|
|
instanceId: 'one',
|
|
workspace: 'F:\\project',
|
|
instanceOpenCount: 4,
|
|
}
|
|
|
|
describe('client reference projection', () => {
|
|
it('keeps the path in a structured JSON payload', () => {
|
|
expect(serializeIdeReference(item.path)).toBe('<ide-open-file>{"path":"F:\\\\project\\\\a&b.ts"}</ide-open-file>')
|
|
})
|
|
|
|
it('shows IDE, count and dirty state', () => {
|
|
const candidate = candidateFromItem(item)
|
|
expect(candidate.description).toContain('VS Code')
|
|
expect(candidate.description).toContain('4 open')
|
|
expect(candidate.description).toContain('unsaved changes')
|
|
})
|
|
})
|