Windows: Refactor Shell Scripts to Node.js for Cross-Platform Compatibility (#784)

This commit is contained in:
matt korwel 2025-06-09 12:19:42 -07:00 committed by GitHub
parent 2182a1cd2c
commit 3b943c1582
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
38 changed files with 1723 additions and 853 deletions

View file

@ -21,7 +21,11 @@ describe('checkHasEditor', () => {
it('should return true for vscode if "code" command exists', () => {
(execSync as Mock).mockReturnValue(Buffer.from('/usr/bin/code'));
expect(checkHasEditor('vscode')).toBe(true);
expect(execSync).toHaveBeenCalledWith('which code', { stdio: 'ignore' });
const expectedCommand =
process.platform === 'win32' ? 'where.exe code.cmd' : 'command -v code';
expect(execSync).toHaveBeenCalledWith(expectedCommand, {
stdio: 'ignore',
});
});
it('should return false for vscode if "code" command does not exist', () => {
@ -34,7 +38,11 @@ describe('checkHasEditor', () => {
it('should return true for vim if "vim" command exists', () => {
(execSync as Mock).mockReturnValue(Buffer.from('/usr/bin/vim'));
expect(checkHasEditor('vim')).toBe(true);
expect(execSync).toHaveBeenCalledWith('which vim', { stdio: 'ignore' });
const expectedCommand =
process.platform === 'win32' ? 'where.exe vim' : 'command -v vim';
expect(execSync).toHaveBeenCalledWith(expectedCommand, {
stdio: 'ignore',
});
});
it('should return false for vim if "vim" command does not exist', () => {