summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks/useCompletion.integration.test.ts
diff options
context:
space:
mode:
authorDeWitt Clinton <[email protected]>2025-06-12 10:04:15 -0700
committerGitHub <[email protected]>2025-06-12 17:04:15 +0000
commita9e56ee4606e2e6cb2ededd8834c10bcf25357b6 (patch)
tree3f4f9a74afd0fdb4d1cd269e30cc63a61733743d /packages/cli/src/ui/hooks/useCompletion.integration.test.ts
parentaf247a6cbd66ca1d6d5a75e496fdee6e4f4dd1fa (diff)
Ignore dot files on @-completion. (#978)
Diffstat (limited to 'packages/cli/src/ui/hooks/useCompletion.integration.test.ts')
-rw-r--r--packages/cli/src/ui/hooks/useCompletion.integration.test.ts30
1 files changed, 29 insertions, 1 deletions
diff --git a/packages/cli/src/ui/hooks/useCompletion.integration.test.ts b/packages/cli/src/ui/hooks/useCompletion.integration.test.ts
index c38006c3..020e0ea9 100644
--- a/packages/cli/src/ui/hooks/useCompletion.integration.test.ts
+++ b/packages/cli/src/ui/hooks/useCompletion.integration.test.ts
@@ -241,7 +241,7 @@ describe('useCompletion git-aware filtering integration', () => {
expect(mockFileDiscoveryService.glob).toHaveBeenCalledWith('**/s*', {
cwd: testCwd,
- dot: true,
+ dot: false,
});
expect(fs.readdir).not.toHaveBeenCalled(); // Ensure glob is used instead of readdir
expect(result.current.suggestions).toEqual([
@@ -249,4 +249,32 @@ describe('useCompletion git-aware filtering integration', () => {
{ label: 'src/index.ts', value: 'src/index.ts' },
]);
});
+
+ it('should include dotfiles in glob search when input starts with a dot', async () => {
+ const globResults = [
+ `${testCwd}/.env`,
+ `${testCwd}/.gitignore`,
+ `${testCwd}/src/index.ts`,
+ ];
+ mockFileDiscoveryService.glob.mockResolvedValue(globResults);
+
+ const { result } = renderHook(() =>
+ useCompletion('@.', testCwd, true, slashCommands, mockConfig),
+ );
+
+ await act(async () => {
+ await new Promise((resolve) => setTimeout(resolve, 150));
+ });
+
+ expect(mockFileDiscoveryService.glob).toHaveBeenCalledWith('**/.*', {
+ cwd: testCwd,
+ dot: true,
+ });
+ expect(fs.readdir).not.toHaveBeenCalled();
+ expect(result.current.suggestions).toEqual([
+ { label: '.env', value: '.env' },
+ { label: '.gitignore', value: '.gitignore' },
+ { label: 'src/index.ts', value: 'src/index.ts' },
+ ]);
+ });
});