2026-05-14 15:26:22 +08:00

53 lines
1.7 KiB
TypeScript

/*
* Tencent is pleased to support the open source community by making TMagicEditor available.
*
* Copyright (C) 2025 Tencent.
*/
import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest';
import * as logger from '@editor/utils/logger';
describe('logger', () => {
let prev: string | undefined;
beforeEach(() => {
prev = process.env.NODE_ENV;
vi.spyOn(console, 'log').mockImplementation(() => undefined);
vi.spyOn(console, 'info').mockImplementation(() => undefined);
vi.spyOn(console, 'warn').mockImplementation(() => undefined);
vi.spyOn(console, 'debug').mockImplementation(() => undefined);
vi.spyOn(console, 'error').mockImplementation(() => undefined);
});
afterEach(() => {
process.env.NODE_ENV = prev;
vi.restoreAllMocks();
});
test('NODE_ENV=development 时所有方法走 console', () => {
process.env.NODE_ENV = 'development';
logger.log('a');
logger.info('a');
logger.warn('a');
logger.debug('a');
logger.error('a');
expect(console.log as any).toHaveBeenCalled();
expect(console.info as any).toHaveBeenCalled();
expect(console.warn as any).toHaveBeenCalled();
expect(console.debug as any).toHaveBeenCalled();
expect(console.error as any).toHaveBeenCalled();
});
test('生产环境无输出', () => {
process.env.NODE_ENV = 'production';
logger.log('a');
logger.info('a');
logger.warn('a');
logger.debug('a');
logger.error('a');
expect(console.log as any).not.toHaveBeenCalled();
expect(console.info as any).not.toHaveBeenCalled();
expect(console.warn as any).not.toHaveBeenCalled();
expect(console.debug as any).not.toHaveBeenCalled();
expect(console.error as any).not.toHaveBeenCalled();
});
});