test(logger): add tests for info, warning, error, and critical methods
This commit is contained in:
parent
50df6b4c37
commit
d95c8d37da
1 changed files with 46 additions and 18 deletions
|
|
@ -124,32 +124,60 @@ describe('Logger', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('debug', () => {
|
||||
test('invokes handler when level is DEBUG', () => {
|
||||
const logger = new Logger('test', DEBUG);
|
||||
const emitted: LogRecord[] = [];
|
||||
describe('level methods', () => {
|
||||
let logger: Logger;
|
||||
let emitted: LogRecord[];
|
||||
|
||||
class TestHandler extends Handler {
|
||||
emit(record: LogRecord) { emitted.push(record) }
|
||||
}
|
||||
|
||||
beforeEach(() => {
|
||||
logger = new Logger('test', DEBUG);
|
||||
emitted = [];
|
||||
logger.addHandler(new TestHandler(DEBUG));
|
||||
logger.debug('test message');
|
||||
expect(emitted.length).toBe(1);
|
||||
expect(emitted[0].scope).toBe('test');
|
||||
});
|
||||
|
||||
test('does not invoke handler when level is above DEBUG', () => {
|
||||
const logger = new Logger('test', WARNING);
|
||||
const emitted: LogRecord[] = [];
|
||||
test('debug emits at DEBUG level', () => {
|
||||
logger.debug('msg');
|
||||
expect(emitted.length).toBe(1);
|
||||
expect(emitted[0].levelno).toBe(DEBUG);
|
||||
});
|
||||
|
||||
class TestHandler extends Handler {
|
||||
emit(record: LogRecord) { emitted.push(record) }
|
||||
}
|
||||
test('info emits at INFO level', () => {
|
||||
logger.info('msg');
|
||||
expect(emitted.length).toBe(1);
|
||||
expect(emitted[0].levelno).toBe(INFO);
|
||||
});
|
||||
|
||||
logger.addHandler(new TestHandler(DEBUG));
|
||||
logger.debug('test message');
|
||||
test('warning emits at WARNING level', () => {
|
||||
logger.warning('msg');
|
||||
expect(emitted.length).toBe(1);
|
||||
expect(emitted[0].levelno).toBe(WARNING);
|
||||
});
|
||||
|
||||
test('error emits at ERROR level', () => {
|
||||
logger.error('msg');
|
||||
expect(emitted.length).toBe(1);
|
||||
expect(emitted[0].levelno).toBe(ERROR);
|
||||
});
|
||||
|
||||
test('critical emits at CRITICAL level', () => {
|
||||
logger.critical('msg');
|
||||
expect(emitted.length).toBe(1);
|
||||
expect(emitted[0].levelno).toBe(CRITICAL);
|
||||
});
|
||||
|
||||
test('level methods respect effective level', () => {
|
||||
logger.setLevel(ERROR);
|
||||
logger.clear();
|
||||
logger.debug('no');
|
||||
logger.info('no');
|
||||
logger.warning('no');
|
||||
expect(emitted.length).toBe(0);
|
||||
logger.error('yes');
|
||||
logger.critical('yes');
|
||||
expect(emitted.length).toBe(2);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue