test: cover log helpers
This commit is contained in:
@@ -0,0 +1,59 @@
|
|||||||
|
import { describe, it, afterEach, mock } from 'node:test';
|
||||||
|
import assert from 'node:assert/strict';
|
||||||
|
import { section, step, line, ok, warn, error } from './log.js';
|
||||||
|
|
||||||
|
afterEach(() => mock.restoreAll());
|
||||||
|
|
||||||
|
describe('log helpers', () => {
|
||||||
|
it('formats section and step messages', () => {
|
||||||
|
const calls = [];
|
||||||
|
mock.method(console, 'log', (...args) => {
|
||||||
|
calls.push(args.join(' '));
|
||||||
|
});
|
||||||
|
|
||||||
|
section('Pipeline');
|
||||||
|
step('Step1', 'Start');
|
||||||
|
|
||||||
|
assert.deepEqual(calls, [
|
||||||
|
'\n=== Pipeline ===',
|
||||||
|
'\n[Step1] Start',
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('formats line and ok messages with console.log', () => {
|
||||||
|
const calls = [];
|
||||||
|
mock.method(console, 'log', (...args) => {
|
||||||
|
calls.push(args.join(' '));
|
||||||
|
});
|
||||||
|
|
||||||
|
line('hello');
|
||||||
|
ok('done');
|
||||||
|
|
||||||
|
assert.deepEqual(calls, [
|
||||||
|
' - hello',
|
||||||
|
' ✓ done',
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('formats warn messages with console.warn', () => {
|
||||||
|
const calls = [];
|
||||||
|
mock.method(console, 'warn', (...args) => {
|
||||||
|
calls.push(args.join(' '));
|
||||||
|
});
|
||||||
|
|
||||||
|
warn('careful');
|
||||||
|
|
||||||
|
assert.deepEqual(calls, [' ! careful']);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('formats error messages with console.error', () => {
|
||||||
|
const calls = [];
|
||||||
|
mock.method(console, 'error', (...args) => {
|
||||||
|
calls.push(args.join(' '));
|
||||||
|
});
|
||||||
|
|
||||||
|
error('boom');
|
||||||
|
|
||||||
|
assert.deepEqual(calls, [' x boom']);
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user