mirror of
https://github.com/wu736139669/hapi.git
synced 2026-11-07 01:21:37 +00:00
Add a right-click (desktop) / long-press (mobile) menu to file entries on the Files page: git change rows, file search results, and the directory tree. Actions: - Copy path (workspace-relative) - Copy absolute path (resolved against session.metadata.path) - Add to composer (append a backticked reference to the session composer draft and navigate back to the chat) Closes #1807
31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
import { beforeEach, describe, expect, it } from 'vitest'
|
|
import { formatFileReference, appendFileReferenceToComposerDraft } from './file-composer'
|
|
import { getDraft, saveDraft } from '@/lib/composer-drafts'
|
|
|
|
describe('file-composer', () => {
|
|
beforeEach(() => {
|
|
window.sessionStorage.clear()
|
|
})
|
|
|
|
it('formats a backticked reference', () => {
|
|
expect(formatFileReference('src/foo.ts')).toBe('`src/foo.ts`')
|
|
})
|
|
|
|
it('writes a new draft when none exists', () => {
|
|
appendFileReferenceToComposerDraft('file-composer-empty', 'src/foo.ts')
|
|
expect(getDraft('file-composer-empty')).toBe('`src/foo.ts`')
|
|
})
|
|
|
|
it('appends on a new line and preserves existing text', () => {
|
|
saveDraft('file-composer-existing', 'please review')
|
|
appendFileReferenceToComposerDraft('file-composer-existing', 'src/foo.ts')
|
|
expect(getDraft('file-composer-existing')).toBe('please review\n`src/foo.ts`')
|
|
})
|
|
|
|
it('trims trailing whitespace before appending', () => {
|
|
saveDraft('file-composer-trailing', 'please review\n\n')
|
|
appendFileReferenceToComposerDraft('file-composer-trailing', 'src/foo.ts')
|
|
expect(getDraft('file-composer-trailing')).toBe('please review\n`src/foo.ts`')
|
|
})
|
|
})
|