|
1 | 1 |
|
2 |
| -import {Science, test, expect} from "@e280/science" |
3 | 2 | import {Logger} from "./logger.js"
|
| 3 | +import {MockTarget} from "./targets/mock.js" |
| 4 | +import {Science, test, expect} from "@e280/science" |
4 | 5 |
|
5 | 6 | await Science.run({
|
6 |
| - "addition works": test(async() => { |
7 |
| - expect(2 + 2).is(4) |
8 |
| - // const logger = new Logger() |
9 |
| - // .target(Logger.node) |
10 |
| - // .palette(Logger.colorful) |
11 |
| - // .transform(Logger.timestamp) |
| 7 | + "basics": Science.suite({ |
| 8 | + "create a logger": test(async() => { |
| 9 | + void new Logger() |
| 10 | + }), |
| 11 | + "logger with mock": test(async() => { |
| 12 | + const mock = new MockTarget() |
| 13 | + void new Logger().setTarget(mock) |
| 14 | + }), |
| 15 | + "logger stdout": test(async() => { |
| 16 | + const mock = new MockTarget() |
| 17 | + const logger = new Logger().setTarget(mock) |
| 18 | + expect(mock.stdout.spy.calls.length).is(0) |
| 19 | + logger.log("hello world!") |
| 20 | + expect(mock.stdout.spy.calls.length).is(1) |
| 21 | + expect(mock.getSpyStdout(0)).is("hello world!") |
| 22 | + expect(mock.stderr.spy.calls.length).is(0) |
| 23 | + }), |
| 24 | + "logger stderr": test(async() => { |
| 25 | + const mock = new MockTarget() |
| 26 | + const logger = new Logger().setTarget(mock) |
| 27 | + expect(mock.stderr.spy.calls.length).is(0) |
| 28 | + logger.error("hello world!") |
| 29 | + expect(mock.stderr.spy.calls.length).is(1) |
| 30 | + expect(mock.getSpyStderr(0)).is("hello world!") |
| 31 | + expect(mock.stdout.spy.calls.length).is(0) |
| 32 | + }), |
| 33 | + }), |
| 34 | + |
| 35 | + "transforms": Science.suite({ |
| 36 | + "custom prefix": test(async() => { |
| 37 | + const mock = new MockTarget() |
| 38 | + const logger = new Logger() |
| 39 | + .setTarget(mock) |
| 40 | + .setPalette(Logger.palettes.plain()) |
| 41 | + .addTransform(() => ({ |
| 42 | + stdout: items => ["stdout:", ...items], |
| 43 | + stderr: items => ["stderr:", ...items], |
| 44 | + })) |
| 45 | + logger.log("hello world!") |
| 46 | + console.log(mock.getSpyStdout(0)) |
| 47 | + expect(mock.stdout.spy.calls.length).is(1) |
| 48 | + expect(mock.getSpyStdout(0)).is("stdout: hello world!") |
| 49 | + }), |
12 | 50 | }),
|
13 | 51 | })
|
14 | 52 |
|
0 commit comments