fix: respect home overrides in hook utilities

This commit is contained in:
Affaan Mustafa
2026-04-02 18:22:07 -07:00
parent 8bd5a7a5d9
commit b10080c7dd
3 changed files with 49 additions and 0 deletions

View File

@@ -60,6 +60,50 @@ function runTests() {
assert.ok(fs.existsSync(home), 'Home dir should exist');
})) passed++; else failed++;
if (test('getHomeDir prefers HOME override when set', () => {
const originalHome = process.env.HOME;
const originalUserProfile = process.env.USERPROFILE;
const fakeHome = path.join(process.cwd(), 'tmp-home-override');
try {
process.env.HOME = fakeHome;
process.env.USERPROFILE = '';
assert.strictEqual(utils.getHomeDir(), fakeHome);
} finally {
if (originalHome === undefined) {
delete process.env.HOME;
} else {
process.env.HOME = originalHome;
}
if (originalUserProfile === undefined) {
delete process.env.USERPROFILE;
} else {
process.env.USERPROFILE = originalUserProfile;
}
}
})) passed++; else failed++;
if (test('getHomeDir falls back to USERPROFILE when HOME is empty', () => {
const originalHome = process.env.HOME;
const originalUserProfile = process.env.USERPROFILE;
const fakeHome = path.join(process.cwd(), 'tmp-userprofile-override');
try {
process.env.HOME = '';
process.env.USERPROFILE = fakeHome;
assert.strictEqual(utils.getHomeDir(), fakeHome);
} finally {
if (originalHome === undefined) {
delete process.env.HOME;
} else {
process.env.HOME = originalHome;
}
if (originalUserProfile === undefined) {
delete process.env.USERPROFILE;
} else {
process.env.USERPROFILE = originalUserProfile;
}
}
})) passed++; else failed++;
if (test('getClaudeDir returns path under home', () => {
const claudeDir = utils.getClaudeDir();
const homeDir = utils.getHomeDir();