From 8b959c2060352182889e8e056de8a62a301778df Mon Sep 17 00:00:00 2001 From: Jacob Richman Date: Fri, 16 May 2025 13:17:48 -0700 Subject: strip escape characters when pasting. (#386) --- packages/cli/src/ui/components/shared/text-buffer.test.ts | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'packages/cli/src/ui/components/shared/text-buffer.test.ts') diff --git a/packages/cli/src/ui/components/shared/text-buffer.test.ts b/packages/cli/src/ui/components/shared/text-buffer.test.ts index 8e35e3e9..acaa4179 100644 --- a/packages/cli/src/ui/components/shared/text-buffer.test.ts +++ b/packages/cli/src/ui/components/shared/text-buffer.test.ts @@ -495,6 +495,14 @@ describe('useTextBuffer', () => { act(() => result.current.handleInput(undefined, { rightArrow: true })); // cursor [0,2] expect(getBufferState(result).cursor).toEqual([0, 2]); }); + + it('should strip ANSI escape codes when pasting text', () => { + const { result } = renderHook(() => useTextBuffer({ viewport })); + const textWithAnsi = '\x1B[31mHello\x1B[0m \x1B[32mWorld\x1B[0m'; + // Simulate pasting by calling handleInput with a string longer than 1 char + act(() => result.current.handleInput(textWithAnsi, {})); + expect(getBufferState(result).text).toBe('Hello World'); + }); }); // More tests would be needed for: -- cgit v1.2.3