Skip to content

Commit

Permalink
Add more tests for some types
Browse files Browse the repository at this point in the history
  • Loading branch information
terehov committed Aug 23, 2023
1 parent 3044fce commit 1e93acc
Show file tree
Hide file tree
Showing 5 changed files with 95 additions and 0 deletions.
11 changes: 11 additions & 0 deletions examples/nodejs/index2.ts
Expand Up @@ -119,3 +119,14 @@ class CustomError extends Error {

const err = new CustomError("a", "b");
logger.error(err);

console.log("***********");
logger.debug(null);
logger.debug(undefined);
logger.debug("*", undefined);
console.log("###############");
//jsonLogger.debug(null);
jsonLogger.debug(undefined);
//jsonLogger.debug('*', undefined);
console.log("###############");
logger.debug(new URL("https://www.test.de"));
3 changes: 3 additions & 0 deletions src/runtime/nodejs/index.ts
Expand Up @@ -165,6 +165,9 @@ export function transportJSON<LogObj>(json: LogObj & ILogObjMeta): void {
// Store value in our collection
cache.add(value);
}
if (typeof value === "undefined") {
return "[undefined]";
}
return value;
});
}
Expand Down
18 changes: 18 additions & 0 deletions tests/Browser/1_json.test.ts
Expand Up @@ -76,6 +76,24 @@ describe("Browser: JSON: Log level", () => {
expect(consoleOutput).toContain("Foo bar");
});

it("pretty undefined", async () => {
await page.evaluate(() => {
// @ts-ignore
const logger = new tslog.Logger({ type: "pretty", stylePrettyLogs: false });
logger.info(undefined);
});
expect(consoleOutput).toContain("undefined");
});

it("pretty null", async () => {
await page.evaluate(() => {
// @ts-ignore
const logger = new tslog.Logger({ type: "pretty", stylePrettyLogs: false });
logger.info(null);
});
expect(consoleOutput).toContain("null");
});

it("pretty nullish", async () => {
await page.evaluate(() => {
// @ts-ignore
Expand Down
20 changes: 20 additions & 0 deletions tests/Nodejs/4_json_Log_Types.test.ts
Expand Up @@ -20,6 +20,26 @@ describe("JSON: Log Types", () => {
expect(getConsoleLog()).toContain('"1":"Test2"');
});

it("pretty undefined", async () => {
const logger = new Logger({ type: "json" });
logger.info(undefined);
expect(getConsoleLog()).toContain('"0":"[undefined]"');
});

it("pretty null", async () => {
const logger = new Logger({ type: "json" });
logger.info(null);
expect(getConsoleLog()).toContain('"0":null');
});

it("pretty nullish", async () => {
const logger = new Logger({ type: "json" });
logger.info({ foo: null, bar: undefined });

expect(getConsoleLog()).toContain('"foo":null');
expect(getConsoleLog()).toContain('"bar":"[undefined]"');
});

test("boolean", (): void => {
const logger = new Logger({ type: "json" });
logger.log(1234, "testLevel", true);
Expand Down
43 changes: 43 additions & 0 deletions tests/Nodejs/5_pretty_Log_Types.test.ts
Expand Up @@ -33,6 +33,28 @@ describe("Pretty: Log Types", () => {
expect(getConsoleLog()).toContain("Test1 Test2");
});

it("pretty undefined", async () => {
const logger = new Logger({ type: "pretty", stylePrettyLogs: false });
logger.info(undefined);

expect(getConsoleLog()).toContain("undefined");
});

it("pretty null", async () => {
const logger = new Logger({ type: "pretty", stylePrettyLogs: false });
logger.info(null);

expect(getConsoleLog()).toContain("null");
});

it("pretty nullish", async () => {
const logger = new Logger({ type: "pretty", stylePrettyLogs: false });
logger.info({ foo: null, bar: undefined });

expect(getConsoleLog()).toContain("null");
expect(getConsoleLog()).toContain("undefined");
});

test("boolean", (): void => {
const logger = new Logger({ type: "pretty" });
logger.log(1234, "testLevel", true);
Expand Down Expand Up @@ -100,6 +122,27 @@ describe("Pretty: Log Types", () => {
expect(getConsoleLog()).toContain("https://example2.com/");
});

test("Date", (): void => {
const logger = new Logger({ type: "pretty" });
const date = new Date(0);
logger.log(1234, "testLevel", date);
expect(getConsoleLog()).toContain("1970-01-01T00:00:00.000Z");
});

test("Map", (): void => {
const logger = new Logger({ type: "pretty" });
const map = new Map();
logger.log(1234, "testLevel", map);
expect(getConsoleLog()).toContain("Map(0) {}");
});

test("Set", (): void => {
const logger = new Logger({ type: "pretty" });
const set = new Set();
logger.log(1234, "testLevel", set);
expect(getConsoleLog()).toContain("Set(0) {}");
});

test("String, Object", (): void => {
const logger = new Logger({ type: "pretty" });
logger.log(1234, "testLevel", "test", { test: true, nested: { 1: false } });
Expand Down

0 comments on commit 1e93acc

Please sign in to comment.