Files
llmx/codex-cli/tests/get-diff-special-chars.test.ts
hanson-openai 7edfbae062 fix: diff command for filenames with special characters (#954)
## Summary
- fix quoting issues in `/diff` to correctly handle files with special
characters
- add regression test for `getGitDiff` when filenames contain `$`
- relax timeout in raw-exec-process-group test

Fixes https://github.com/openai/codex/issues/943

## Testing
- `pnpm test`
2025-05-16 09:10:44 -07:00

29 lines
883 B
TypeScript

import { mkdtempSync, writeFileSync, rmSync } from "fs";
import { tmpdir } from "os";
import { join } from "path";
import { execSync } from "child_process";
import { describe, it, expect } from "vitest";
import { getGitDiff } from "../src/utils/get-diff.js";
describe("getGitDiff", () => {
it("handles untracked files with special characters", () => {
const repoDir = mkdtempSync(join(tmpdir(), "git-diff-test-"));
const prevCwd = process.cwd();
try {
process.chdir(repoDir);
execSync("git init", { stdio: "ignore" });
const fileName = "a$b.txt";
writeFileSync(join(repoDir, fileName), "hello\n");
const { isGitRepo, diff } = getGitDiff();
expect(isGitRepo).toBe(true);
expect(diff).toContain(fileName);
} finally {
process.chdir(prevCwd);
rmSync(repoDir, { recursive: true, force: true });
}
});
});