TraceSourceTests.ts
68 lines
| 1.6 KiB
| video/mp2t
|
TypeScriptLexer
|
|
r18 | import * as TraceSource from '@implab/core/log/TraceSource' | |
|
|
r11 | import * as tape from 'tape'; | |
|
|
r15 | import { TapeWriter } from './TestTraits'; | |
|
|
r11 | ||
| const sourceId = 'test/TraceSourceTests'; | |||
|
|
r13 | tape('trace message', t => { | |
|
|
r11 | let trace = TraceSource.get(sourceId); | |
|
|
r12 | trace.level = TraceSource.DebugLevel; | |
|
|
r11 | ||
|
|
r14 | let h = trace.on((ev) => { | |
| t.equal(ev.source, trace, "sender should be the current trace source"); | |||
| t.equal(ev.level, TraceSource.DebugLevel, "level should be debug level"); | |||
| t.equal(ev.arg, "Hello, World!", "The message should be a formatted message"); | |||
|
|
r12 | ||
| t.end(); | |||
|
|
r11 | }); | |
|
|
r12 | trace.debug("Hello, {0}!", "World"); | |
|
|
r11 | h.destroy(); | |
|
|
r13 | }); | |
| tape('trace event', t => { | |||
| let trace = TraceSource.get(sourceId); | |||
| trace.level = TraceSource.DebugLevel; | |||
| let event = { | |||
| name: "custom event" | |||
| }; | |||
|
|
r14 | let h = trace.on((ev) => { | |
| t.equal(ev.source, trace, "sender should be the current trace source"); | |||
| t.equal(ev.level, TraceSource.DebugLevel, "level should be debug level"); | |||
| t.equal(ev.arg, event, "The message should be the specified object"); | |||
|
|
r13 | ||
| t.end(); | |||
| }); | |||
| trace.traceEvent(TraceSource.DebugLevel, event); | |||
| h.destroy(); | |||
|
|
r14 | }); | |
|
|
r15 | tape('tape comment writer', async t => { | |
| let writer = new TapeWriter(t); | |||
| TraceSource.on(ts => { | |||
| writer.writeEvents(ts); | |||
| }); | |||
|
|
r14 | ||
| let trace = TraceSource.get(sourceId); | |||
| trace.level = TraceSource.DebugLevel; | |||
| trace.log("Hello, {0}!", 'World'); | |||
|
|
r15 | trace.log("Multi\n line"); | |
|
|
r14 | trace.warn("Look at me!"); | |
| trace.error("DIE!"); | |||
|
|
r15 | writer.destroy(); | |
|
|
r16 | ||
|
|
r15 | trace.log("You shouldn't see it!"); | |
| t.comment("DONE"); | |||
|
|
r14 | ||
| t.end(); | |||
|
|
r11 | }); |
