Skip to content

Commit c1e553d

Browse files
committed
chore: fix CRLF line endings across codebase
Run `npm run lint:fix` to convert all CRLF line endings to LF.
1 parent e0a91c5 commit c1e553d

2 files changed

Lines changed: 20 additions & 66 deletions

File tree

tests/unit/useAutoScroll.dom.test.ts

Lines changed: 13 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -42,24 +42,15 @@ describe('useAutoScroll - scroll to bottom on message send (#977)', () => {
4242
});
4343

4444
it('should scroll to bottom when user sends a message (position=right)', async () => {
45-
const initialMessages: TMessage[] = [
46-
createMessage('left', '1'),
47-
createMessage('right', '2'),
48-
];
49-
50-
const { result, rerender } = renderHook(
51-
({ messages, itemCount }) => useAutoScroll({ messages, itemCount }),
52-
{ initialProps: { messages: initialMessages, itemCount: 2 } }
53-
);
45+
const initialMessages: TMessage[] = [createMessage('left', '1'), createMessage('right', '2')];
46+
47+
const { result, rerender } = renderHook(({ messages, itemCount }) => useAutoScroll({ messages, itemCount }), { initialProps: { messages: initialMessages, itemCount: 2 } });
5448

5549
// Manually set the ref to mock Virtuoso
5650
(result.current.virtuosoRef as any).current = mockVirtuosoHandle;
5751

5852
// Add a new user message (position=right)
59-
const newMessages: TMessage[] = [
60-
...initialMessages,
61-
createMessage('right', '3'),
62-
];
53+
const newMessages: TMessage[] = [...initialMessages, createMessage('right', '3')];
6354

6455
rerender({ messages: newMessages, itemCount: 3 });
6556

@@ -79,22 +70,14 @@ describe('useAutoScroll - scroll to bottom on message send (#977)', () => {
7970
});
8071

8172
it('should NOT scroll when AI responds (position=left)', async () => {
82-
const initialMessages: TMessage[] = [
83-
createMessage('right', '1'),
84-
];
73+
const initialMessages: TMessage[] = [createMessage('right', '1')];
8574

86-
const { result, rerender } = renderHook(
87-
({ messages, itemCount }) => useAutoScroll({ messages, itemCount }),
88-
{ initialProps: { messages: initialMessages, itemCount: 1 } }
89-
);
75+
const { result, rerender } = renderHook(({ messages, itemCount }) => useAutoScroll({ messages, itemCount }), { initialProps: { messages: initialMessages, itemCount: 1 } });
9076

9177
(result.current.virtuosoRef as any).current = mockVirtuosoHandle;
9278

9379
// Add AI response (position=left)
94-
const newMessages: TMessage[] = [
95-
...initialMessages,
96-
createMessage('left', '2'),
97-
];
80+
const newMessages: TMessage[] = [...initialMessages, createMessage('left', '2')];
9881

9982
rerender({ messages: newMessages, itemCount: 2 });
10083

@@ -107,14 +90,9 @@ describe('useAutoScroll - scroll to bottom on message send (#977)', () => {
10790
});
10891

10992
it('should reset userScrolled flag when user sends message', async () => {
110-
const initialMessages: TMessage[] = [
111-
createMessage('left', '1'),
112-
];
93+
const initialMessages: TMessage[] = [createMessage('left', '1')];
11394

114-
const { result, rerender } = renderHook(
115-
({ messages, itemCount }) => useAutoScroll({ messages, itemCount }),
116-
{ initialProps: { messages: initialMessages, itemCount: 1 } }
117-
);
95+
const { result, rerender } = renderHook(({ messages, itemCount }) => useAutoScroll({ messages, itemCount }), { initialProps: { messages: initialMessages, itemCount: 1 } });
11896

11997
(result.current.virtuosoRef as any).current = mockVirtuosoHandle;
12098

@@ -134,10 +112,7 @@ describe('useAutoScroll - scroll to bottom on message send (#977)', () => {
134112
});
135113

136114
// Add user message - should force scroll
137-
const newMessages: TMessage[] = [
138-
...initialMessages,
139-
createMessage('right', '2'),
140-
];
115+
const newMessages: TMessage[] = [...initialMessages, createMessage('right', '2')];
141116

142117
rerender({ messages: newMessages, itemCount: 2 });
143118

@@ -150,10 +125,7 @@ describe('useAutoScroll - scroll to bottom on message send (#977)', () => {
150125
});
151126

152127
it('should show scroll button when not at bottom', () => {
153-
const { result } = renderHook(
154-
({ messages, itemCount }) => useAutoScroll({ messages, itemCount }),
155-
{ initialProps: { messages: [], itemCount: 0 } }
156-
);
128+
const { result } = renderHook(({ messages, itemCount }) => useAutoScroll({ messages, itemCount }), { initialProps: { messages: [], itemCount: 0 } });
157129

158130
// Initially hidden
159131
expect(result.current.showScrollButton).toBe(false);
@@ -174,10 +146,7 @@ describe('useAutoScroll - scroll to bottom on message send (#977)', () => {
174146
});
175147

176148
it('should provide scrollToBottom function for manual scroll', () => {
177-
const { result } = renderHook(
178-
({ messages, itemCount }) => useAutoScroll({ messages, itemCount }),
179-
{ initialProps: { messages: [], itemCount: 5 } }
180-
);
149+
const { result } = renderHook(({ messages, itemCount }) => useAutoScroll({ messages, itemCount }), { initialProps: { messages: [], itemCount: 5 } });
181150

182151
(result.current.virtuosoRef as any).current = mockVirtuosoHandle;
183152

@@ -195,10 +164,7 @@ describe('useAutoScroll - scroll to bottom on message send (#977)', () => {
195164
});
196165

197166
it('should handle followOutput correctly based on scroll state', () => {
198-
const { result } = renderHook(
199-
({ messages, itemCount }) => useAutoScroll({ messages, itemCount }),
200-
{ initialProps: { messages: [], itemCount: 0 } }
201-
);
167+
const { result } = renderHook(({ messages, itemCount }) => useAutoScroll({ messages, itemCount }), { initialProps: { messages: [], itemCount: 0 } });
202168

203169
// When at bottom and not user-scrolled, should return 'auto'
204170
expect(result.current.handleFollowOutput(true)).toBe('auto');

tests/unit/useWorkspaceEvents.dom.test.ts

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66

77
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
8-
import { renderHook, act } from '@testing-library/react';
8+
import { act } from '@testing-library/react';
99
import { emitter } from '../../src/renderer/utils/emitter';
1010

1111
// Mock ipcBridge
@@ -61,9 +61,7 @@ describe('useWorkspaceEvents - folder tag sync (#1083)', () => {
6161
const folders = items.filter((item) => !item.isFile);
6262
if (folders.length > 0) {
6363
const lastFolder = folders[folders.length - 1];
64-
selectedNodeRef.current = lastFolder.relativePath
65-
? { relativePath: lastFolder.relativePath, fullPath: lastFolder.path }
66-
: null;
64+
selectedNodeRef.current = lastFolder.relativePath ? { relativePath: lastFolder.relativePath, fullPath: lastFolder.path } : null;
6765
} else {
6866
selectedNodeRef.current = null;
6967
}
@@ -101,9 +99,7 @@ describe('useWorkspaceEvents - folder tag sync (#1083)', () => {
10199
const folders = items.filter((item) => !item.isFile);
102100
if (folders.length > 0) {
103101
const lastFolder = folders[folders.length - 1];
104-
selectedNodeRef.current = lastFolder.relativePath
105-
? { relativePath: lastFolder.relativePath, fullPath: lastFolder.path }
106-
: null;
102+
selectedNodeRef.current = lastFolder.relativePath ? { relativePath: lastFolder.relativePath, fullPath: lastFolder.path } : null;
107103
} else {
108104
selectedNodeRef.current = null;
109105
}
@@ -134,9 +130,7 @@ describe('useWorkspaceEvents - folder tag sync (#1083)', () => {
134130
const folders = items.filter((item) => !item.isFile);
135131
if (folders.length > 0) {
136132
const lastFolder = folders[folders.length - 1];
137-
selectedNodeRef.current = lastFolder.relativePath
138-
? { relativePath: lastFolder.relativePath, fullPath: lastFolder.path }
139-
: null;
133+
selectedNodeRef.current = lastFolder.relativePath ? { relativePath: lastFolder.relativePath, fullPath: lastFolder.path } : null;
140134
} else {
141135
selectedNodeRef.current = null;
142136
}
@@ -171,9 +165,7 @@ describe('useWorkspaceEvents - folder tag sync (#1083)', () => {
171165
const folders = items.filter((item) => !item.isFile);
172166
if (folders.length > 0) {
173167
const lastFolder = folders[folders.length - 1];
174-
selectedNodeRef.current = lastFolder.relativePath
175-
? { relativePath: lastFolder.relativePath, fullPath: lastFolder.path }
176-
: null;
168+
selectedNodeRef.current = lastFolder.relativePath ? { relativePath: lastFolder.relativePath, fullPath: lastFolder.path } : null;
177169
} else {
178170
selectedNodeRef.current = null;
179171
}
@@ -209,9 +201,7 @@ describe('useWorkspaceEvents - folder tag sync (#1083)', () => {
209201
emitter.on('acp.selected.file', handleSelectedFile);
210202

211203
act(() => {
212-
emitter.emit('acp.selected.file', [
213-
{ path: '/path/folder1', name: 'folder1', isFile: false, relativePath: 'folder1' },
214-
]);
204+
emitter.emit('acp.selected.file', [{ path: '/path/folder1', name: 'folder1', isFile: false, relativePath: 'folder1' }]);
215205
});
216206

217207
expect(setSelected).toHaveBeenCalledWith(['folder1']);
@@ -232,9 +222,7 @@ describe('useWorkspaceEvents - folder tag sync (#1083)', () => {
232222
emitter.on('codex.selected.file', handleSelectedFile);
233223

234224
act(() => {
235-
emitter.emit('codex.selected.file', [
236-
{ path: '/path/folder1', name: 'folder1', isFile: false, relativePath: 'folder1' },
237-
]);
225+
emitter.emit('codex.selected.file', [{ path: '/path/folder1', name: 'folder1', isFile: false, relativePath: 'folder1' }]);
238226
});
239227

240228
expect(setSelected).toHaveBeenCalledWith(['folder1']);

0 commit comments

Comments
 (0)