Skip to content

Commit b9f313f

Browse files
committed
feat: logger tests
1 parent 42c4f42 commit b9f313f

14 files changed

+454
-390
lines changed

electron/common/__mocks__/create-logger.mock.ts

-28
This file was deleted.

electron/common/__mocks__/electron-log.mock.ts

-97
This file was deleted.
+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import { Writable } from 'node:stream';
2+
import { vi } from 'vitest';
3+
4+
type Callback = (...args: Array<unknown>) => void;
5+
6+
export class WritableMock extends Writable {
7+
private onCallbacksMap: Record<string, Array<Callback>> = {};
8+
private onceCallbacksMap: Record<string, Array<Callback>> = {};
9+
10+
public writable: boolean = true;
11+
12+
write = vi.fn((_chunk: any, _encoding?: any, callback?: any): boolean => {
13+
if (callback) {
14+
callback(null);
15+
}
16+
return true;
17+
});
18+
19+
on = vi.fn((event: string, cb: Callback): this => {
20+
this.onCallbacksMap[event] ||= [];
21+
this.onCallbacksMap[event].push(cb);
22+
return this;
23+
});
24+
25+
once = vi.fn((event: string, cb: Callback): this => {
26+
this.onceCallbacksMap[event] ||= [];
27+
this.onceCallbacksMap[event].push(cb);
28+
return this;
29+
});
30+
31+
off = vi.fn((event: string, cb: Callback): this => {
32+
const onCallbacks = this.onCallbacksMap[event];
33+
if (onCallbacks) {
34+
this.onCallbacksMap[event] = onCallbacks.filter(
35+
(callback) => callback !== cb
36+
);
37+
}
38+
39+
const onceCallbacks = this.onceCallbacksMap[event];
40+
if (onceCallbacks) {
41+
this.onceCallbacksMap[event] = onceCallbacks.filter(
42+
(callback) => callback !== cb
43+
);
44+
}
45+
46+
return this;
47+
});
48+
49+
emit = vi.fn((event: string, ...args: Array<unknown>): boolean => {
50+
const onCallbacks = this.onCallbacksMap[event];
51+
if (onCallbacks) {
52+
onCallbacks.forEach((cb) => cb(...args));
53+
}
54+
55+
const onceCallbacks = this.onceCallbacksMap[event];
56+
if (onceCallbacks) {
57+
onceCallbacks.forEach((cb) => cb(...args));
58+
delete this.onceCallbacksMap[event];
59+
}
60+
61+
const hasCallbacks = onCallbacks?.length > 0 || onceCallbacks?.length > 0;
62+
63+
return hasCallbacks;
64+
});
65+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import type { MockedFunction } from 'vitest';
2+
import { vi } from 'vitest';
3+
import type { LogFormatter } from '../types.js';
4+
5+
export type LogFormatterMock = MockedFunction<LogFormatter>;
6+
7+
export const mockLogFormatterFactory = (): LogFormatterMock => {
8+
return vi.fn<LogFormatter>();
9+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { WritableMock } from '../../__mocks__/writable.mock.js';
2+
3+
export class LogTransportMock extends WritableMock {}

electron/common/logger/__tests__/create-logger.test.ts

-55
This file was deleted.

electron/common/logger/__tests__/initialize-logging.test.ts

-67
This file was deleted.

0 commit comments

Comments
 (0)