fix: update logger tests to use console.log instead of console.warn

- Modified logger test cases to reflect that the warn method uses console.log in Node.js implementation.
- Updated expectations in feature-loader tests to align with the new logging behavior.
- Ensured consistent logging behavior across tests for improved clarity and accuracy.
This commit is contained in:
Shirone
2026-01-03 03:03:50 +01:00
parent d13a16111c
commit a6d665c4fa
3 changed files with 19 additions and 14 deletions

View File

@@ -1,5 +1,5 @@
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
import { createLogger, LogLevel, getLogLevel, setLogLevel } from '../src/logger';
import { createLogger, LogLevel, getLogLevel, setLogLevel, setColorsEnabled } from '../src/logger';
describe('logger.ts', () => {
let originalConsoleError: typeof console.error;
@@ -14,6 +14,9 @@ describe('logger.ts', () => {
originalConsoleLog = console.log;
originalLogLevel = getLogLevel();
// Disable colors for predictable test output
setColorsEnabled(false);
// Mock console methods
console.error = vi.fn();
console.warn = vi.fn();
@@ -73,8 +76,8 @@ describe('logger.ts', () => {
logger.debug('debug message');
expect(console.error).toHaveBeenCalledTimes(1);
expect(console.warn).toHaveBeenCalledTimes(1);
expect(console.log).not.toHaveBeenCalled();
// Note: warn uses console.log in Node.js implementation
expect(console.log).toHaveBeenCalledTimes(1);
});
it('should log error, warn, and info at INFO level', () => {
@@ -87,8 +90,8 @@ describe('logger.ts', () => {
logger.debug('debug message');
expect(console.error).toHaveBeenCalledTimes(1);
expect(console.warn).toHaveBeenCalledTimes(1);
expect(console.log).toHaveBeenCalledTimes(1); // Only info, not debug
// Note: warn and info both use console.log in Node.js implementation
expect(console.log).toHaveBeenCalledTimes(2); // warn + info, not debug
});
it('should log all messages at DEBUG level', () => {
@@ -101,8 +104,8 @@ describe('logger.ts', () => {
logger.debug('debug message');
expect(console.error).toHaveBeenCalledTimes(1);
expect(console.warn).toHaveBeenCalledTimes(1);
expect(console.log).toHaveBeenCalledTimes(2); // info + debug
// Note: warn, info, debug all use console.log in Node.js implementation
expect(console.log).toHaveBeenCalledTimes(3); // warn + info + debug
});
});
@@ -129,13 +132,14 @@ describe('logger.ts', () => {
});
describe('warn method', () => {
it('should use console.warn', () => {
it('should use console.log with WARN prefix', () => {
const logger = createLogger('WarnTest');
setLogLevel(LogLevel.WARN);
logger.warn('warning message');
expect(console.warn).toHaveBeenCalledWith('WARN [WarnTest]', 'warning message');
// Note: warn uses console.log in Node.js implementation
expect(console.log).toHaveBeenCalledWith('WARN [WarnTest]', 'warning message');
});
it('should not log when level is below WARN', () => {
@@ -144,7 +148,7 @@ describe('logger.ts', () => {
logger.warn('should not appear');
expect(console.warn).not.toHaveBeenCalled();
expect(console.log).not.toHaveBeenCalled();
});
});