mirror of
https://github.com/jarrodwatts/claude-hud.git
synced 2026-05-21 15:49:58 +00:00
test: Add context-detector edge case tests
- Test for settings.json without permissions field - Test for undefined cwd - Test for cwd without context files Coverage: 93.92% (218 tests) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -42,6 +42,34 @@ describe('detectContextFiles', () => {
|
||||
expect(result.projectSettings).toBe(true);
|
||||
expect(result.projectSettingsRules).toBe(3);
|
||||
});
|
||||
|
||||
it('handles settings.json without permissions field', () => {
|
||||
const settingsPath = path.join(tmpDir, '.claude', 'settings.json');
|
||||
fs.mkdirSync(path.dirname(settingsPath), { recursive: true });
|
||||
fs.writeFileSync(settingsPath, JSON.stringify({ someOtherField: true }), 'utf-8');
|
||||
|
||||
const result = detectContextFiles(tmpDir);
|
||||
|
||||
expect(result.projectSettings).toBe(true);
|
||||
expect(result.projectSettingsRules).toBe(0);
|
||||
});
|
||||
|
||||
it('returns default values when cwd is undefined', () => {
|
||||
const result = detectContextFiles(undefined);
|
||||
|
||||
expect(result.projectClaudeMd).toBe(false);
|
||||
expect(result.projectClaudeMdPath).toBeNull();
|
||||
expect(result.projectSettings).toBe(false);
|
||||
});
|
||||
|
||||
it('returns default values when cwd has no context files', () => {
|
||||
const result = detectContextFiles(tmpDir);
|
||||
|
||||
expect(result.projectClaudeMd).toBe(false);
|
||||
expect(result.projectClaudeMdPath).toBeNull();
|
||||
expect(result.projectSettings).toBe(false);
|
||||
expect(result.projectSettingsRules).toBe(0);
|
||||
});
|
||||
});
|
||||
|
||||
describe('ContextDetector', () => {
|
||||
|
||||
Reference in New Issue
Block a user