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
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', () => {