Skip to content

Commit 1e93acc

Browse files
committed
Add more tests for some types
1 parent 3044fce commit 1e93acc

File tree

5 files changed

+95
-0
lines changed

5 files changed

+95
-0
lines changed

examples/nodejs/index2.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,3 +119,14 @@ class CustomError extends Error {
119119

120120
const err = new CustomError("a", "b");
121121
logger.error(err);
122+
123+
console.log("***********");
124+
logger.debug(null);
125+
logger.debug(undefined);
126+
logger.debug("*", undefined);
127+
console.log("###############");
128+
//jsonLogger.debug(null);
129+
jsonLogger.debug(undefined);
130+
//jsonLogger.debug('*', undefined);
131+
console.log("###############");
132+
logger.debug(new URL("https://www.test.de"));

src/runtime/nodejs/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,9 @@ export function transportJSON<LogObj>(json: LogObj & ILogObjMeta): void {
165165
// Store value in our collection
166166
cache.add(value);
167167
}
168+
if (typeof value === "undefined") {
169+
return "[undefined]";
170+
}
168171
return value;
169172
});
170173
}

tests/Browser/1_json.test.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,24 @@ describe("Browser: JSON: Log level", () => {
7676
expect(consoleOutput).toContain("Foo bar");
7777
});
7878

79+
it("pretty undefined", async () => {
80+
await page.evaluate(() => {
81+
// @ts-ignore
82+
const logger = new tslog.Logger({ type: "pretty", stylePrettyLogs: false });
83+
logger.info(undefined);
84+
});
85+
expect(consoleOutput).toContain("undefined");
86+
});
87+
88+
it("pretty null", async () => {
89+
await page.evaluate(() => {
90+
// @ts-ignore
91+
const logger = new tslog.Logger({ type: "pretty", stylePrettyLogs: false });
92+
logger.info(null);
93+
});
94+
expect(consoleOutput).toContain("null");
95+
});
96+
7997
it("pretty nullish", async () => {
8098
await page.evaluate(() => {
8199
// @ts-ignore

tests/Nodejs/4_json_Log_Types.test.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,26 @@ describe("JSON: Log Types", () => {
2020
expect(getConsoleLog()).toContain('"1":"Test2"');
2121
});
2222

23+
it("pretty undefined", async () => {
24+
const logger = new Logger({ type: "json" });
25+
logger.info(undefined);
26+
expect(getConsoleLog()).toContain('"0":"[undefined]"');
27+
});
28+
29+
it("pretty null", async () => {
30+
const logger = new Logger({ type: "json" });
31+
logger.info(null);
32+
expect(getConsoleLog()).toContain('"0":null');
33+
});
34+
35+
it("pretty nullish", async () => {
36+
const logger = new Logger({ type: "json" });
37+
logger.info({ foo: null, bar: undefined });
38+
39+
expect(getConsoleLog()).toContain('"foo":null');
40+
expect(getConsoleLog()).toContain('"bar":"[undefined]"');
41+
});
42+
2343
test("boolean", (): void => {
2444
const logger = new Logger({ type: "json" });
2545
logger.log(1234, "testLevel", true);

tests/Nodejs/5_pretty_Log_Types.test.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,28 @@ describe("Pretty: Log Types", () => {
3333
expect(getConsoleLog()).toContain("Test1 Test2");
3434
});
3535

36+
it("pretty undefined", async () => {
37+
const logger = new Logger({ type: "pretty", stylePrettyLogs: false });
38+
logger.info(undefined);
39+
40+
expect(getConsoleLog()).toContain("undefined");
41+
});
42+
43+
it("pretty null", async () => {
44+
const logger = new Logger({ type: "pretty", stylePrettyLogs: false });
45+
logger.info(null);
46+
47+
expect(getConsoleLog()).toContain("null");
48+
});
49+
50+
it("pretty nullish", async () => {
51+
const logger = new Logger({ type: "pretty", stylePrettyLogs: false });
52+
logger.info({ foo: null, bar: undefined });
53+
54+
expect(getConsoleLog()).toContain("null");
55+
expect(getConsoleLog()).toContain("undefined");
56+
});
57+
3658
test("boolean", (): void => {
3759
const logger = new Logger({ type: "pretty" });
3860
logger.log(1234, "testLevel", true);
@@ -100,6 +122,27 @@ describe("Pretty: Log Types", () => {
100122
expect(getConsoleLog()).toContain("https://example2.com/");
101123
});
102124

125+
test("Date", (): void => {
126+
const logger = new Logger({ type: "pretty" });
127+
const date = new Date(0);
128+
logger.log(1234, "testLevel", date);
129+
expect(getConsoleLog()).toContain("1970-01-01T00:00:00.000Z");
130+
});
131+
132+
test("Map", (): void => {
133+
const logger = new Logger({ type: "pretty" });
134+
const map = new Map();
135+
logger.log(1234, "testLevel", map);
136+
expect(getConsoleLog()).toContain("Map(0) {}");
137+
});
138+
139+
test("Set", (): void => {
140+
const logger = new Logger({ type: "pretty" });
141+
const set = new Set();
142+
logger.log(1234, "testLevel", set);
143+
expect(getConsoleLog()).toContain("Set(0) {}");
144+
});
145+
103146
test("String, Object", (): void => {
104147
const logger = new Logger({ type: "pretty" });
105148
logger.log(1234, "testLevel", "test", { test: true, nested: { 1: false } });

0 commit comments

Comments
 (0)