2025-07-25 01:20:38 -07:00
|
|
|
import PerformanceLogger from './PerformanceLogger';
|
|
|
|
|
|
|
|
|
|
describe('PerformanceLogger', () => {
|
|
|
|
|
beforeEach(() => {
|
|
|
|
|
PerformanceLogger.reset_();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('should buffer log messages created before a logger is attached', () => {
|
2025-08-01 03:43:05 -07:00
|
|
|
const logger = PerformanceLogger.create();
|
|
|
|
|
logger.mark('test/Test');
|
2025-07-25 01:20:38 -07:00
|
|
|
|
|
|
|
|
const log: string[] = [];
|
|
|
|
|
PerformanceLogger.setLogger({
|
|
|
|
|
info: (message) => log.push(`info: ${message}`),
|
|
|
|
|
debug: (message) => log.push(`debug: ${message}`),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
expect(log).toHaveLength(1);
|
|
|
|
|
expect(log[0]).toMatch(/^info: Performance: test\/Test: Mark at/);
|
|
|
|
|
|
|
|
|
|
// Should continue using the set logger
|
2025-08-01 03:43:05 -07:00
|
|
|
const task = logger.taskStart('test/Test task');
|
2025-07-25 01:20:38 -07:00
|
|
|
expect(log).toHaveLength(2);
|
|
|
|
|
task.onEnd();
|
|
|
|
|
expect(log).toHaveLength(3);
|
|
|
|
|
});
|
|
|
|
|
});
|