import { describe, expect, it } from 'vitest' import { extractBashBlocks, singleLineTerminalInsert, terminalContextLineCount } from '../../src/utils/aiResponse' describe('terminal AI response guards', () => { it('extracts shell code without treating prose as a command', () => { expect(extractBashBlocks('检查:\n```bash\nuname -a\n```')).toEqual(['uname -a']) expect(extractBashBlocks('请运行 uname -a')).toEqual([]) }) it('only permits a single line and never adds enter', () => { expect(singleLineTerminalInsert('date\n')).toBe('date') expect(singleLineTerminalInsert('date\nuname -a')).toBeNull() expect(singleLineTerminalInsert('')).toBeNull() }) it('counts exactly the context lines shown to the user', () => { expect(terminalContextLineCount('a\nb\n')).toBe(2) expect(terminalContextLineCount('')).toBe(0) }) })