diff options
Diffstat (limited to 'packages/cli/src/ui/utils/commandUtils.test.ts')
| -rw-r--r-- | packages/cli/src/ui/utils/commandUtils.test.ts | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/packages/cli/src/ui/utils/commandUtils.test.ts b/packages/cli/src/ui/utils/commandUtils.test.ts index db333e72..c1920599 100644 --- a/packages/cli/src/ui/utils/commandUtils.test.ts +++ b/packages/cli/src/ui/utils/commandUtils.test.ts @@ -5,7 +5,7 @@ */ import { vi, describe, it, expect, beforeEach, Mock } from 'vitest'; -import { spawn } from 'child_process'; +import { spawn, SpawnOptions } from 'child_process'; import { EventEmitter } from 'events'; import { isAtCommand, @@ -186,6 +186,9 @@ describe('commandUtils', () => { it('should successfully copy text to clipboard using xclip', async () => { const testText = 'Hello, world!'; + const linuxOptions: SpawnOptions = { + stdio: ['pipe', 'inherit', 'pipe'], + }; setTimeout(() => { mockChild.emit('close', 0); @@ -193,10 +196,11 @@ describe('commandUtils', () => { await copyToClipboard(testText); - expect(mockSpawn).toHaveBeenCalledWith('xclip', [ - '-selection', - 'clipboard', - ]); + expect(mockSpawn).toHaveBeenCalledWith( + 'xclip', + ['-selection', 'clipboard'], + linuxOptions, + ); expect(mockChild.stdin.write).toHaveBeenCalledWith(testText); expect(mockChild.stdin.end).toHaveBeenCalled(); }); @@ -204,6 +208,9 @@ describe('commandUtils', () => { it('should fall back to xsel when xclip fails', async () => { const testText = 'Hello, world!'; let callCount = 0; + const linuxOptions: SpawnOptions = { + stdio: ['pipe', 'inherit', 'pipe'], + }; mockSpawn.mockImplementation(() => { const child = Object.assign(new EventEmitter(), { @@ -232,14 +239,18 @@ describe('commandUtils', () => { await copyToClipboard(testText); expect(mockSpawn).toHaveBeenCalledTimes(2); - expect(mockSpawn).toHaveBeenNthCalledWith(1, 'xclip', [ - '-selection', - 'clipboard', - ]); - expect(mockSpawn).toHaveBeenNthCalledWith(2, 'xsel', [ - '--clipboard', - '--input', - ]); + expect(mockSpawn).toHaveBeenNthCalledWith( + 1, + 'xclip', + ['-selection', 'clipboard'], + linuxOptions, + ); + expect(mockSpawn).toHaveBeenNthCalledWith( + 2, + 'xsel', + ['--clipboard', '--input'], + linuxOptions, + ); }); it('should throw error when both xclip and xsel fail', async () => { |
