mirror of
https://github.com/log4js-node/log4js-node.git
synced 2025-12-08 19:26:01 +00:00
441 lines
11 KiB
JavaScript
441 lines
11 KiB
JavaScript
const { test } = require('tap');
|
|
const levels = require('../../lib/levels');
|
|
|
|
function assertThat(assert, level) {
|
|
function assertForEach(assertion, testFn, otherLevels) {
|
|
otherLevels.forEach((other) => {
|
|
assertion.call(assert, testFn.call(level, other));
|
|
});
|
|
}
|
|
|
|
return {
|
|
isLessThanOrEqualTo(lvls) {
|
|
assertForEach(assert.ok, level.isLessThanOrEqualTo, lvls);
|
|
},
|
|
isNotLessThanOrEqualTo(lvls) {
|
|
assertForEach(assert.notOk, level.isLessThanOrEqualTo, lvls);
|
|
},
|
|
isGreaterThanOrEqualTo(lvls) {
|
|
assertForEach(assert.ok, level.isGreaterThanOrEqualTo, lvls);
|
|
},
|
|
isNotGreaterThanOrEqualTo(lvls) {
|
|
assertForEach(assert.notOk, level.isGreaterThanOrEqualTo, lvls);
|
|
},
|
|
isEqualTo(lvls) {
|
|
assertForEach(assert.ok, level.isEqualTo, lvls);
|
|
},
|
|
isNotEqualTo(lvls) {
|
|
assertForEach(assert.notOk, level.isEqualTo, lvls);
|
|
},
|
|
};
|
|
}
|
|
|
|
test('levels', (batch) => {
|
|
batch.test('values', (t) => {
|
|
t.test('should define some levels', (assert) => {
|
|
assert.ok(levels.ALL);
|
|
assert.ok(levels.TRACE);
|
|
assert.ok(levels.DEBUG);
|
|
assert.ok(levels.INFO);
|
|
assert.ok(levels.WARN);
|
|
assert.ok(levels.ERROR);
|
|
assert.ok(levels.FATAL);
|
|
assert.ok(levels.MARK);
|
|
assert.ok(levels.OFF);
|
|
assert.end();
|
|
});
|
|
|
|
t.test('ALL', (assert) => {
|
|
const all = levels.ALL;
|
|
assertThat(assert, all).isLessThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, all).isNotGreaterThanOrEqualTo([
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, all).isEqualTo([levels.getLevel('ALL')]);
|
|
assertThat(assert, all).isNotEqualTo([
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assert.end();
|
|
});
|
|
|
|
t.test('TRACE', (assert) => {
|
|
const trace = levels.TRACE;
|
|
assertThat(assert, trace).isLessThanOrEqualTo([
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, trace).isNotLessThanOrEqualTo([levels.ALL]);
|
|
assertThat(assert, trace).isGreaterThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
]);
|
|
assertThat(assert, trace).isNotGreaterThanOrEqualTo([
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, trace).isEqualTo([levels.getLevel('TRACE')]);
|
|
assertThat(assert, trace).isNotEqualTo([
|
|
levels.ALL,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assert.end();
|
|
});
|
|
|
|
t.test('DEBUG', (assert) => {
|
|
const debug = levels.DEBUG;
|
|
assertThat(assert, debug).isLessThanOrEqualTo([
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, debug).isNotLessThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
]);
|
|
assertThat(assert, debug).isGreaterThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
]);
|
|
assertThat(assert, debug).isNotGreaterThanOrEqualTo([
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, debug).isEqualTo([levels.getLevel('DEBUG')]);
|
|
assertThat(assert, debug).isNotEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assert.end();
|
|
});
|
|
|
|
t.test('INFO', (assert) => {
|
|
const info = levels.INFO;
|
|
assertThat(assert, info).isLessThanOrEqualTo([
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, info).isNotLessThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
]);
|
|
assertThat(assert, info).isGreaterThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
]);
|
|
assertThat(assert, info).isNotGreaterThanOrEqualTo([
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, info).isEqualTo([levels.getLevel('INFO')]);
|
|
assertThat(assert, info).isNotEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assert.end();
|
|
});
|
|
|
|
t.test('WARN', (assert) => {
|
|
const warn = levels.WARN;
|
|
assertThat(assert, warn).isLessThanOrEqualTo([
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, warn).isNotLessThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
]);
|
|
assertThat(assert, warn).isGreaterThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
]);
|
|
assertThat(assert, warn).isNotGreaterThanOrEqualTo([
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, warn).isEqualTo([levels.getLevel('WARN')]);
|
|
assertThat(assert, warn).isNotEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.OFF,
|
|
]);
|
|
assert.end();
|
|
});
|
|
|
|
t.test('ERROR', (assert) => {
|
|
const error = levels.ERROR;
|
|
assertThat(assert, error).isLessThanOrEqualTo([
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, error).isNotLessThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
]);
|
|
assertThat(assert, error).isGreaterThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
]);
|
|
assertThat(assert, error).isNotGreaterThanOrEqualTo([
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, error).isEqualTo([levels.getLevel('ERROR')]);
|
|
assertThat(assert, error).isNotEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assert.end();
|
|
});
|
|
|
|
t.test('FATAL', (assert) => {
|
|
const fatal = levels.FATAL;
|
|
assertThat(assert, fatal).isLessThanOrEqualTo([levels.MARK, levels.OFF]);
|
|
assertThat(assert, fatal).isNotLessThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
]);
|
|
assertThat(assert, fatal).isGreaterThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
]);
|
|
assertThat(assert, fatal).isNotGreaterThanOrEqualTo([
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assertThat(assert, fatal).isEqualTo([levels.getLevel('FATAL')]);
|
|
assertThat(assert, fatal).isNotEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.MARK,
|
|
levels.OFF,
|
|
]);
|
|
assert.end();
|
|
});
|
|
|
|
t.test('MARK', (assert) => {
|
|
const mark = levels.MARK;
|
|
assertThat(assert, mark).isLessThanOrEqualTo([levels.OFF]);
|
|
assertThat(assert, mark).isNotLessThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.FATAL,
|
|
levels.ERROR,
|
|
]);
|
|
assertThat(assert, mark).isGreaterThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
]);
|
|
assertThat(assert, mark).isNotGreaterThanOrEqualTo([levels.OFF]);
|
|
assertThat(assert, mark).isEqualTo([levels.getLevel('MARK')]);
|
|
assertThat(assert, mark).isNotEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.OFF,
|
|
]);
|
|
assert.end();
|
|
});
|
|
|
|
t.test('OFF', (assert) => {
|
|
const off = levels.OFF;
|
|
assertThat(assert, off).isNotLessThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
]);
|
|
assertThat(assert, off).isGreaterThanOrEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
]);
|
|
assertThat(assert, off).isEqualTo([levels.getLevel('OFF')]);
|
|
assertThat(assert, off).isNotEqualTo([
|
|
levels.ALL,
|
|
levels.TRACE,
|
|
levels.DEBUG,
|
|
levels.INFO,
|
|
levels.WARN,
|
|
levels.ERROR,
|
|
levels.FATAL,
|
|
levels.MARK,
|
|
]);
|
|
assert.end();
|
|
});
|
|
t.end();
|
|
});
|
|
|
|
batch.test('isGreaterThanOrEqualTo', (t) => {
|
|
const info = levels.INFO;
|
|
assertThat(t, info).isGreaterThanOrEqualTo(['all', 'trace', 'debug']);
|
|
assertThat(t, info).isNotGreaterThanOrEqualTo([
|
|
'warn',
|
|
'ERROR',
|
|
'Fatal',
|
|
'MARK',
|
|
'off',
|
|
]);
|
|
t.end();
|
|
});
|
|
|
|
batch.test('isLessThanOrEqualTo', (t) => {
|
|
const info = levels.INFO;
|
|
assertThat(t, info).isNotLessThanOrEqualTo(['all', 'trace', 'debug']);
|
|
assertThat(t, info).isLessThanOrEqualTo([
|
|
'warn',
|
|
'ERROR',
|
|
'Fatal',
|
|
'MARK',
|
|
'off',
|
|
]);
|
|
t.end();
|
|
});
|
|
|
|
batch.test('isEqualTo', (t) => {
|
|
const info = levels.INFO;
|
|
assertThat(t, info).isEqualTo(['info', 'INFO', 'iNfO']);
|
|
t.end();
|
|
});
|
|
|
|
batch.test('getLevel', (t) => {
|
|
t.equal(levels.getLevel('debug'), levels.DEBUG);
|
|
t.equal(levels.getLevel('DEBUG'), levels.DEBUG);
|
|
t.equal(levels.getLevel('DeBuG'), levels.DEBUG);
|
|
t.notOk(levels.getLevel('cheese'));
|
|
t.equal(levels.getLevel('cheese', levels.DEBUG), levels.DEBUG);
|
|
t.equal(
|
|
levels.getLevel({ level: 10000, levelStr: 'DEBUG', colour: 'cyan' }),
|
|
levels.DEBUG
|
|
);
|
|
t.end();
|
|
});
|
|
|
|
batch.end();
|
|
});
|