summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks/useCompletion.integration.test.ts
diff options
context:
space:
mode:
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' },
+ ]);
+ });
});