@wireio/shared 1.0.19 → 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/test-cjs/guards/array.test.js +12 -10
- package/lib/test-cjs/guards/array.test.js.map +1 -1
- package/lib/test-cjs/guards/assert.test.js +24 -22
- package/lib/test-cjs/guards/assert.test.js.map +1 -1
- package/lib/test-cjs/guards/class.test.js +17 -15
- package/lib/test-cjs/guards/class.test.js.map +1 -1
- package/lib/test-cjs/guards/guard-tools.test.js +18 -16
- package/lib/test-cjs/guards/guard-tools.test.js.map +1 -1
- package/lib/test-cjs/guards/primitive.test.js +72 -70
- package/lib/test-cjs/guards/primitive.test.js.map +1 -1
- package/lib/test-cjs/helpers/Deferred.test.js +38 -36
- package/lib/test-cjs/helpers/Deferred.test.js.map +1 -1
- package/lib/test-cjs/logging/ConsoleAppender.test.js +19 -17
- package/lib/test-cjs/logging/ConsoleAppender.test.js.map +1 -1
- package/lib/test-cjs/logging/Level.test.js +27 -25
- package/lib/test-cjs/logging/Level.test.js.map +1 -1
- package/lib/test-cjs/logging/Logger.test.js +14 -12
- package/lib/test-cjs/logging/Logger.test.js.map +1 -1
- package/lib/test-cjs/logging/LoggingManager.test.js +22 -20
- package/lib/test-cjs/logging/LoggingManager.test.js.map +1 -1
- package/lib/test-cjs/logging/util.test.js +21 -19
- package/lib/test-cjs/logging/util.test.js.map +1 -1
- package/lib/tsconfig.cjs.jest.tsbuildinfo +1 -1
- package/package.json +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Deferred.test.js","sourceRoot":"","sources":["../../../tests/helpers/Deferred.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Deferred, DeferredStatus } from \"@wireio/shared/helpers/Deferred\"\n\ndescribe(\"Deferred\", () => {\n describe(\"initial state\", () => {\n it(\"starts in PENDING status\", () => {\n const d = new Deferred()\n expect(d.status()).toBe(DeferredStatus.PENDING)\n })\n\n it(\"isFulfilled() is false initially\", () => {\n const d = new Deferred()\n expect(d.isFulfilled()).toBe(false)\n })\n\n it(\"isRejected() is false initially\", () => {\n const d = new Deferred()\n expect(d.isRejected()).toBe(false)\n })\n\n it(\"isSettled() is false initially\", () => {\n const d = new Deferred()\n expect(d.isSettled()).toBe(false)\n })\n\n it(\"isCancelled() is false initially\", () => {\n const d = new Deferred()\n expect(d.isCancelled()).toBe(false)\n })\n })\n\n describe(\"resolve\", () => {\n it(\"changes status to FULFILLED\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.status()).toBe(DeferredStatus.FULFILLED)\n })\n\n it(\"sets isFulfilled() to true\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.isFulfilled()).toBe(true)\n })\n\n it(\"sets isSettled() to true\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.isSettled()).toBe(true)\n })\n\n it(\"getResult() returns the resolved value\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.getResult()).toBe(42)\n })\n\n it(\"promise resolves to the value\", async () => {\n const d = new Deferred<number>()\n d.resolve(42)\n await expect(d.promise).resolves.toBe(42)\n })\n\n it(\"subsequent resolve() is a no-op\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n d.resolve(99)\n expect(d.getResult()).toBe(42)\n })\n\n it(\"subsequent reject() is a no-op after resolve\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n d.reject(new Error(\"fail\"))\n expect(d.isFulfilled()).toBe(true)\n expect(d.isRejected()).toBe(false)\n })\n })\n\n describe(\"reject\", () => {\n it(\"changes status to REJECTED\", () => {\n const d = new Deferred<number>()\n const err = new Error(\"oops\")\n d.reject(err)\n // Catch the promise to avoid unhandled rejection\n d.promise.catch(() => {})\n expect(d.status()).toBe(DeferredStatus.REJECTED)\n })\n\n it(\"sets isRejected() to true\", () => {\n const d = new Deferred<number>()\n d.reject(new Error(\"oops\"))\n d.promise.catch(() => {})\n expect(d.isRejected()).toBe(true)\n })\n\n it(\"sets isSettled() to true\", () => {\n const d = new Deferred<number>()\n d.reject(new Error(\"oops\"))\n d.promise.catch(() => {})\n expect(d.isSettled()).toBe(true)\n })\n\n it(\"getError() returns the error\", () => {\n const d = new Deferred<number>()\n const err = new Error(\"oops\")\n d.reject(err)\n d.promise.catch(() => {})\n expect(d.getError()).toBe(err)\n })\n\n it(\"promise rejects with the error\", async () => {\n const d = new Deferred<number>()\n const err = new Error(\"oops\")\n d.reject(err)\n await expect(d.promise).rejects.toBe(err)\n })\n })\n\n describe(\"cancel\", () => {\n it(\"sets isCancelled() to true\", () => {\n const d = new Deferred<number>()\n d.cancel()\n expect(d.isCancelled()).toBe(true)\n })\n\n it(\"sets isSettled() to true\", () => {\n const d = new Deferred<number>()\n d.cancel()\n expect(d.isSettled()).toBe(true)\n })\n\n it(\"sets status to CANCELED\", () => {\n const d = new Deferred<number>()\n d.cancel()\n expect(d.status()).toBe(DeferredStatus.CANCELED)\n })\n\n it(\"resolve() is a no-op after cancel\", () => {\n const d = new Deferred<number>()\n d.cancel()\n d.resolve(42)\n expect(d.isFulfilled()).toBe(false)\n })\n\n it(\"reject() is a no-op after cancel\", () => {\n const d = new Deferred<number>()\n d.cancel()\n d.reject(new Error(\"fail\"))\n expect(d.isRejected()).toBe(false)\n })\n })\n\n describe(\"getResult() and getError() when not settled\", () => {\n it(\"getResult() throws when not settled\", () => {\n const d = new Deferred<number>()\n expect(() => d.getResult()).toThrow(\n \"Deferred promise is not settled, result is not available\"\n )\n })\n\n it(\"getError() throws when not settled\", () => {\n const d = new Deferred<number>()\n expect(() => d.getError()).toThrow(\n \"Deferred promise is not settled, result is not available\"\n )\n })\n })\n\n describe(\"value and error getters\", () => {\n it(\"value getter works same as getResult()\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.value).toBe(d.getResult())\n })\n\n it(\"error getter works same as getError()\", () => {\n const d = new Deferred<number>()\n d.reject(new Error(\"oops\"))\n d.promise.catch(() => {})\n expect(d.error).toBe(d.getError())\n })\n })\n\n describe(\"static resolve\", () => {\n it(\"creates a pre-resolved deferred\", () => {\n const d = Deferred.resolve(42)\n expect(d.isFulfilled()).toBe(true)\n expect(d.getResult()).toBe(42)\n })\n })\n\n describe(\"static delay\", () => {\n beforeEach(() => {\n jest.useFakeTimers()\n })\n\n afterEach(() => {\n jest.useRealTimers()\n })\n\n it(\"resolves after the specified timeout\", async () => {\n let resolved = false\n const p = Deferred.delay(1000).then(() => {\n resolved = true\n })\n\n expect(resolved).toBe(false)\n jest.advanceTimersByTime(1000)\n await p\n expect(resolved).toBe(true)\n })\n })\n\n describe(\"constructor with existing promise\", () => {\n it(\"resolves when the provided promise resolves\", async () => {\n const p = Promise.resolve(42)\n const d = new Deferred<number>(p)\n await expect(d.promise).resolves.toBe(42)\n })\n\n it(\"rejects when the provided promise rejects\", async () => {\n const err = new Error(\"fail\")\n const p = Promise.reject(err)\n const d = new Deferred<number>(p)\n await expect(d.promise).rejects.toBe(err)\n })\n\n it(\"throws when given an invalid argument\", () => {\n expect(() => new Deferred(\"not a promise\" as any)).toThrow(\n \"An existing promise was provided to Deferred constructor, but it wasn't a valid promise\"\n )\n })\n })\n})\n"]}
|
|
1
|
+
{"version":3,"file":"Deferred.test.js","sourceRoot":"","sources":["../../../tests/helpers/Deferred.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Deferred, DeferredStatus } from \"@wireio/shared/helpers/Deferred\"\n\ndescribe(\"Deferred\", () => {\n describe(\"initial state\", () => {\n it(\"starts in PENDING status\", () => {\n const d = new Deferred()\n expect(d.status()).toBe(DeferredStatus.PENDING)\n })\n\n it(\"isFulfilled() is false initially\", () => {\n const d = new Deferred()\n expect(d.isFulfilled()).toBe(false)\n })\n\n it(\"isRejected() is false initially\", () => {\n const d = new Deferred()\n expect(d.isRejected()).toBe(false)\n })\n\n it(\"isSettled() is false initially\", () => {\n const d = new Deferred()\n expect(d.isSettled()).toBe(false)\n })\n\n it(\"isCancelled() is false initially\", () => {\n const d = new Deferred()\n expect(d.isCancelled()).toBe(false)\n })\n })\n\n describe(\"resolve\", () => {\n it(\"changes status to FULFILLED\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.status()).toBe(DeferredStatus.FULFILLED)\n })\n\n it(\"sets isFulfilled() to true\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.isFulfilled()).toBe(true)\n })\n\n it(\"sets isSettled() to true\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.isSettled()).toBe(true)\n })\n\n it(\"getResult() returns the resolved value\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.getResult()).toBe(42)\n })\n\n it(\"promise resolves to the value\", async () => {\n const d = new Deferred<number>()\n d.resolve(42)\n await expect(d.promise).resolves.toBe(42)\n })\n\n it(\"subsequent resolve() is a no-op\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n d.resolve(99)\n expect(d.getResult()).toBe(42)\n })\n\n it(\"subsequent reject() is a no-op after resolve\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n d.reject(new Error(\"fail\"))\n expect(d.isFulfilled()).toBe(true)\n expect(d.isRejected()).toBe(false)\n })\n })\n\n describe(\"reject\", () => {\n it(\"changes status to REJECTED\", () => {\n const d = new Deferred<number>()\n const err = new Error(\"oops\")\n d.reject(err)\n // Catch the promise to avoid unhandled rejection\n d.promise.catch(() => {})\n expect(d.status()).toBe(DeferredStatus.REJECTED)\n })\n\n it(\"sets isRejected() to true\", () => {\n const d = new Deferred<number>()\n d.reject(new Error(\"oops\"))\n d.promise.catch(() => {})\n expect(d.isRejected()).toBe(true)\n })\n\n it(\"sets isSettled() to true\", () => {\n const d = new Deferred<number>()\n d.reject(new Error(\"oops\"))\n d.promise.catch(() => {})\n expect(d.isSettled()).toBe(true)\n })\n\n it(\"getError() returns the error\", () => {\n const d = new Deferred<number>()\n const err = new Error(\"oops\")\n d.reject(err)\n d.promise.catch(() => {})\n expect(d.getError()).toBe(err)\n })\n\n it(\"promise rejects with the error\", async () => {\n const d = new Deferred<number>()\n const err = new Error(\"oops\")\n d.reject(err)\n await expect(d.promise).rejects.toBe(err)\n })\n })\n\n describe(\"cancel\", () => {\n it(\"sets isCancelled() to true\", () => {\n const d = new Deferred<number>()\n d.cancel()\n expect(d.isCancelled()).toBe(true)\n })\n\n it(\"sets isSettled() to true\", () => {\n const d = new Deferred<number>()\n d.cancel()\n expect(d.isSettled()).toBe(true)\n })\n\n it(\"sets status to CANCELED\", () => {\n const d = new Deferred<number>()\n d.cancel()\n expect(d.status()).toBe(DeferredStatus.CANCELED)\n })\n\n it(\"resolve() is a no-op after cancel\", () => {\n const d = new Deferred<number>()\n d.cancel()\n d.resolve(42)\n expect(d.isFulfilled()).toBe(false)\n })\n\n it(\"reject() is a no-op after cancel\", () => {\n const d = new Deferred<number>()\n d.cancel()\n d.reject(new Error(\"fail\"))\n expect(d.isRejected()).toBe(false)\n })\n })\n\n describe(\"getResult() and getError() when not settled\", () => {\n it(\"getResult() throws when not settled\", () => {\n const d = new Deferred<number>()\n expect(() => d.getResult()).toThrow(\n \"Deferred promise is not settled, result is not available\"\n )\n })\n\n it(\"getError() throws when not settled\", () => {\n const d = new Deferred<number>()\n expect(() => d.getError()).toThrow(\n \"Deferred promise is not settled, result is not available\"\n )\n })\n })\n\n describe(\"value and error getters\", () => {\n it(\"value getter works same as getResult()\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.value).toBe(d.getResult())\n })\n\n it(\"error getter works same as getError()\", () => {\n const d = new Deferred<number>()\n d.reject(new Error(\"oops\"))\n d.promise.catch(() => {})\n expect(d.error).toBe(d.getError())\n })\n })\n\n describe(\"static resolve\", () => {\n it(\"creates a pre-resolved deferred\", () => {\n const d = Deferred.resolve(42)\n expect(d.isFulfilled()).toBe(true)\n expect(d.getResult()).toBe(42)\n })\n })\n\n describe(\"static delay\", () => {\n beforeEach(() => {\n jest.useFakeTimers()\n })\n\n afterEach(() => {\n jest.useRealTimers()\n })\n\n it(\"resolves after the specified timeout\", async () => {\n let resolved = false\n const p = Deferred.delay(1000).then(() => {\n resolved = true\n })\n\n expect(resolved).toBe(false)\n jest.advanceTimersByTime(1000)\n await p\n expect(resolved).toBe(true)\n })\n })\n\n describe(\"constructor with existing promise\", () => {\n it(\"resolves when the provided promise resolves\", async () => {\n const p = Promise.resolve(42)\n const d = new Deferred<number>(p)\n await expect(d.promise).resolves.toBe(42)\n })\n\n it(\"rejects when the provided promise rejects\", async () => {\n const err = new Error(\"fail\")\n const p = Promise.reject(err)\n const d = new Deferred<number>(p)\n await expect(d.promise).rejects.toBe(err)\n })\n\n it(\"throws when given an invalid argument\", () => {\n expect(() => new Deferred(\"not a promise\" as any)).toThrow(\n \"An existing promise was provided to Deferred constructor, but it wasn't a valid promise\"\n )\n })\n })\n})\n"]}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const ConsoleAppender_1 = require("@wireio/shared/logging/appenders/ConsoleAppender");
|
|
4
|
+
const Level_1 = require("@wireio/shared/logging/Level");
|
|
3
5
|
describe("consoleFormatter", () => {
|
|
4
6
|
it("formats a LogRecord into an array containing category, level, and message", () => {
|
|
5
7
|
const record = {
|
|
6
8
|
timestamp: Date.now(),
|
|
7
9
|
category: "testCat",
|
|
8
|
-
level: Level.info,
|
|
10
|
+
level: Level_1.Level.info,
|
|
9
11
|
message: "hello world",
|
|
10
12
|
args: ["extra"]
|
|
11
13
|
};
|
|
12
|
-
const result = consoleFormatter(record);
|
|
14
|
+
const result = (0, ConsoleAppender_1.consoleFormatter)(record);
|
|
13
15
|
expect(Array.isArray(result)).toBe(true);
|
|
14
16
|
expect(result[0]).toContain("testCat");
|
|
15
17
|
expect(result[0]).toContain("info");
|
|
@@ -20,11 +22,11 @@ describe("consoleFormatter", () => {
|
|
|
20
22
|
const record = {
|
|
21
23
|
timestamp: Date.now(),
|
|
22
24
|
category: "cat",
|
|
23
|
-
level: Level.warn,
|
|
25
|
+
level: Level_1.Level.warn,
|
|
24
26
|
message: "msg",
|
|
25
27
|
args: undefined
|
|
26
28
|
};
|
|
27
|
-
const result = consoleFormatter(record);
|
|
29
|
+
const result = (0, ConsoleAppender_1.consoleFormatter)(record);
|
|
28
30
|
expect(Array.isArray(result)).toBe(true);
|
|
29
31
|
expect(result[0]).toContain("msg");
|
|
30
32
|
});
|
|
@@ -32,11 +34,11 @@ describe("consoleFormatter", () => {
|
|
|
32
34
|
describe("ConsoleAppender", () => {
|
|
33
35
|
it("calls console methods when append is called", () => {
|
|
34
36
|
const spy = jest.spyOn(console, "info").mockImplementation(() => { });
|
|
35
|
-
const appender = new ConsoleAppender();
|
|
37
|
+
const appender = new ConsoleAppender_1.ConsoleAppender();
|
|
36
38
|
const record = {
|
|
37
39
|
timestamp: Date.now(),
|
|
38
40
|
category: "test",
|
|
39
|
-
level: Level.info,
|
|
41
|
+
level: Level_1.Level.info,
|
|
40
42
|
message: "test message",
|
|
41
43
|
args: []
|
|
42
44
|
};
|
|
@@ -46,7 +48,7 @@ describe("ConsoleAppender", () => {
|
|
|
46
48
|
});
|
|
47
49
|
it("falls back to console.log for unknown levels", () => {
|
|
48
50
|
const spy = jest.spyOn(console, "log").mockImplementation(() => { });
|
|
49
|
-
const appender = new ConsoleAppender();
|
|
51
|
+
const appender = new ConsoleAppender_1.ConsoleAppender();
|
|
50
52
|
const record = {
|
|
51
53
|
timestamp: Date.now(),
|
|
52
54
|
category: "test",
|
|
@@ -61,32 +63,32 @@ describe("ConsoleAppender", () => {
|
|
|
61
63
|
});
|
|
62
64
|
describe("getConsoleLogBinding", () => {
|
|
63
65
|
it("returns console.log for trace", () => {
|
|
64
|
-
const fn = getConsoleLogBinding("trace");
|
|
66
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("trace");
|
|
65
67
|
expect(typeof fn).toBe("function");
|
|
66
68
|
});
|
|
67
69
|
it("returns console.debug for debug", () => {
|
|
68
|
-
const fn = getConsoleLogBinding("debug");
|
|
70
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("debug");
|
|
69
71
|
expect(typeof fn).toBe("function");
|
|
70
72
|
});
|
|
71
73
|
it("returns console.info for info", () => {
|
|
72
|
-
const fn = getConsoleLogBinding("info");
|
|
74
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("info");
|
|
73
75
|
expect(typeof fn).toBe("function");
|
|
74
76
|
});
|
|
75
77
|
it("returns console.warn for warn", () => {
|
|
76
|
-
const fn = getConsoleLogBinding("warn");
|
|
78
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("warn");
|
|
77
79
|
expect(typeof fn).toBe("function");
|
|
78
80
|
});
|
|
79
81
|
it("returns console.error for error", () => {
|
|
80
|
-
const fn = getConsoleLogBinding("error");
|
|
82
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("error");
|
|
81
83
|
expect(typeof fn).toBe("function");
|
|
82
84
|
});
|
|
83
85
|
it("returns a function for fatal (falls back to console.log)", () => {
|
|
84
|
-
const fn = getConsoleLogBinding("fatal");
|
|
86
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("fatal");
|
|
85
87
|
expect(typeof fn).toBe("function");
|
|
86
88
|
});
|
|
87
89
|
it("caches bindings on repeated calls", () => {
|
|
88
|
-
const fn1 = getConsoleLogBinding("info");
|
|
89
|
-
const fn2 = getConsoleLogBinding("info");
|
|
90
|
+
const fn1 = (0, ConsoleAppender_1.getConsoleLogBinding)("info");
|
|
91
|
+
const fn2 = (0, ConsoleAppender_1.getConsoleLogBinding)("info");
|
|
90
92
|
expect(fn1).toBe(fn2);
|
|
91
93
|
});
|
|
92
94
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleAppender.test.js","sourceRoot":"","sources":["../../../tests/logging/ConsoleAppender.test.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ConsoleAppender.test.js","sourceRoot":"","sources":["../../../tests/logging/ConsoleAppender.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ConsoleAppender,\n consoleFormatter,\n getConsoleLogBinding\n} from \"@wireio/shared/logging/appenders/ConsoleAppender\"\nimport { Level } from \"@wireio/shared/logging/Level\"\nimport type { LogRecord } from \"@wireio/shared/logging/LogRecord\"\n\ndescribe(\"consoleFormatter\", () => {\n it(\"formats a LogRecord into an array containing category, level, and message\", () => {\n const record: LogRecord = {\n timestamp: Date.now(),\n category: \"testCat\",\n level: Level.info,\n message: \"hello world\",\n args: [\"extra\"]\n }\n\n const result = consoleFormatter(record)\n expect(Array.isArray(result)).toBe(true)\n expect(result[0]).toContain(\"testCat\")\n expect(result[0]).toContain(\"info\")\n expect(result[0]).toContain(\"hello world\")\n expect(result).toContain(\"extra\")\n })\n\n it(\"handles undefined args gracefully\", () => {\n const record: LogRecord = {\n timestamp: Date.now(),\n category: \"cat\",\n level: Level.warn,\n message: \"msg\",\n args: undefined\n }\n\n const result = consoleFormatter(record)\n expect(Array.isArray(result)).toBe(true)\n expect(result[0]).toContain(\"msg\")\n })\n})\n\ndescribe(\"ConsoleAppender\", () => {\n it(\"calls console methods when append is called\", () => {\n const spy = jest.spyOn(console, \"info\").mockImplementation(() => {})\n const appender = new ConsoleAppender()\n\n const record = {\n timestamp: Date.now(),\n category: \"test\",\n level: Level.info,\n message: \"test message\",\n args: []\n } as LogRecord\n\n appender.append(record)\n expect(spy).toHaveBeenCalled()\n spy.mockRestore()\n })\n\n it(\"falls back to console.log for unknown levels\", () => {\n const spy = jest.spyOn(console, \"log\").mockImplementation(() => {})\n const appender = new ConsoleAppender()\n\n const record = {\n timestamp: Date.now(),\n category: \"test\",\n level: \"fatal\" as any,\n message: \"fatal message\",\n args: []\n } as LogRecord\n\n appender.append(record)\n expect(spy).toHaveBeenCalled()\n spy.mockRestore()\n })\n})\n\ndescribe(\"getConsoleLogBinding\", () => {\n it(\"returns console.log for trace\", () => {\n const fn = getConsoleLogBinding(\"trace\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"returns console.debug for debug\", () => {\n const fn = getConsoleLogBinding(\"debug\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"returns console.info for info\", () => {\n const fn = getConsoleLogBinding(\"info\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"returns console.warn for warn\", () => {\n const fn = getConsoleLogBinding(\"warn\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"returns console.error for error\", () => {\n const fn = getConsoleLogBinding(\"error\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"returns a function for fatal (falls back to console.log)\", () => {\n const fn = getConsoleLogBinding(\"fatal\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"caches bindings on repeated calls\", () => {\n const fn1 = getConsoleLogBinding(\"info\")\n const fn2 = getConsoleLogBinding(\"info\")\n expect(fn1).toBe(fn2)\n })\n})\n"]}
|
|
@@ -1,40 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Level_1 = require("@wireio/shared/logging/Level");
|
|
2
4
|
describe("Level", () => {
|
|
3
5
|
it("has correct enum values", () => {
|
|
4
|
-
expect(Level.trace).toBe("trace");
|
|
5
|
-
expect(Level.debug).toBe("debug");
|
|
6
|
-
expect(Level.info).toBe("info");
|
|
7
|
-
expect(Level.warn).toBe("warn");
|
|
8
|
-
expect(Level.error).toBe("error");
|
|
9
|
-
expect(Level.fatal).toBe("fatal");
|
|
6
|
+
expect(Level_1.Level.trace).toBe("trace");
|
|
7
|
+
expect(Level_1.Level.debug).toBe("debug");
|
|
8
|
+
expect(Level_1.Level.info).toBe("info");
|
|
9
|
+
expect(Level_1.Level.warn).toBe("warn");
|
|
10
|
+
expect(Level_1.Level.error).toBe("error");
|
|
11
|
+
expect(Level_1.Level.fatal).toBe("fatal");
|
|
10
12
|
});
|
|
11
13
|
});
|
|
12
14
|
describe("LevelNames", () => {
|
|
13
15
|
it("contains all level names", () => {
|
|
14
|
-
expect(LevelNames).toContain("trace");
|
|
15
|
-
expect(LevelNames).toContain("debug");
|
|
16
|
-
expect(LevelNames).toContain("info");
|
|
17
|
-
expect(LevelNames).toContain("warn");
|
|
18
|
-
expect(LevelNames).toContain("error");
|
|
19
|
-
expect(LevelNames).toContain("fatal");
|
|
20
|
-
expect(LevelNames).toHaveLength(6);
|
|
16
|
+
expect(Level_1.LevelNames).toContain("trace");
|
|
17
|
+
expect(Level_1.LevelNames).toContain("debug");
|
|
18
|
+
expect(Level_1.LevelNames).toContain("info");
|
|
19
|
+
expect(Level_1.LevelNames).toContain("warn");
|
|
20
|
+
expect(Level_1.LevelNames).toContain("error");
|
|
21
|
+
expect(Level_1.LevelNames).toContain("fatal");
|
|
22
|
+
expect(Level_1.LevelNames).toHaveLength(6);
|
|
21
23
|
});
|
|
22
24
|
});
|
|
23
25
|
describe("LevelThresholds", () => {
|
|
24
26
|
it("maps each level to a numeric threshold", () => {
|
|
25
|
-
expect(typeof LevelThresholds["trace"]).toBe("number");
|
|
26
|
-
expect(typeof LevelThresholds["debug"]).toBe("number");
|
|
27
|
-
expect(typeof LevelThresholds["info"]).toBe("number");
|
|
28
|
-
expect(typeof LevelThresholds["warn"]).toBe("number");
|
|
29
|
-
expect(typeof LevelThresholds["error"]).toBe("number");
|
|
30
|
-
expect(typeof LevelThresholds["fatal"]).toBe("number");
|
|
27
|
+
expect(typeof Level_1.LevelThresholds["trace"]).toBe("number");
|
|
28
|
+
expect(typeof Level_1.LevelThresholds["debug"]).toBe("number");
|
|
29
|
+
expect(typeof Level_1.LevelThresholds["info"]).toBe("number");
|
|
30
|
+
expect(typeof Level_1.LevelThresholds["warn"]).toBe("number");
|
|
31
|
+
expect(typeof Level_1.LevelThresholds["error"]).toBe("number");
|
|
32
|
+
expect(typeof Level_1.LevelThresholds["fatal"]).toBe("number");
|
|
31
33
|
});
|
|
32
34
|
it("has ascending thresholds: trace < debug < info < warn < error < fatal", () => {
|
|
33
|
-
expect(LevelThresholds["trace"]).toBeLessThan(LevelThresholds["debug"]);
|
|
34
|
-
expect(LevelThresholds["debug"]).toBeLessThan(LevelThresholds["info"]);
|
|
35
|
-
expect(LevelThresholds["info"]).toBeLessThan(LevelThresholds["warn"]);
|
|
36
|
-
expect(LevelThresholds["warn"]).toBeLessThan(LevelThresholds["error"]);
|
|
37
|
-
expect(LevelThresholds["error"]).toBeLessThan(LevelThresholds["fatal"]);
|
|
35
|
+
expect(Level_1.LevelThresholds["trace"]).toBeLessThan(Level_1.LevelThresholds["debug"]);
|
|
36
|
+
expect(Level_1.LevelThresholds["debug"]).toBeLessThan(Level_1.LevelThresholds["info"]);
|
|
37
|
+
expect(Level_1.LevelThresholds["info"]).toBeLessThan(Level_1.LevelThresholds["warn"]);
|
|
38
|
+
expect(Level_1.LevelThresholds["warn"]).toBeLessThan(Level_1.LevelThresholds["error"]);
|
|
39
|
+
expect(Level_1.LevelThresholds["error"]).toBeLessThan(Level_1.LevelThresholds["fatal"]);
|
|
38
40
|
});
|
|
39
41
|
});
|
|
40
42
|
//# sourceMappingURL=Level.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Level.test.js","sourceRoot":"","sources":["../../../tests/logging/Level.test.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Level.test.js","sourceRoot":"","sources":["../../../tests/logging/Level.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Level, LevelNames, LevelThresholds } from \"@wireio/shared/logging/Level\"\n\ndescribe(\"Level\", () => {\n it(\"has correct enum values\", () => {\n expect(Level.trace).toBe(\"trace\")\n expect(Level.debug).toBe(\"debug\")\n expect(Level.info).toBe(\"info\")\n expect(Level.warn).toBe(\"warn\")\n expect(Level.error).toBe(\"error\")\n expect(Level.fatal).toBe(\"fatal\")\n })\n})\n\ndescribe(\"LevelNames\", () => {\n it(\"contains all level names\", () => {\n expect(LevelNames).toContain(\"trace\")\n expect(LevelNames).toContain(\"debug\")\n expect(LevelNames).toContain(\"info\")\n expect(LevelNames).toContain(\"warn\")\n expect(LevelNames).toContain(\"error\")\n expect(LevelNames).toContain(\"fatal\")\n expect(LevelNames).toHaveLength(6)\n })\n})\n\ndescribe(\"LevelThresholds\", () => {\n it(\"maps each level to a numeric threshold\", () => {\n expect(typeof LevelThresholds[\"trace\"]).toBe(\"number\")\n expect(typeof LevelThresholds[\"debug\"]).toBe(\"number\")\n expect(typeof LevelThresholds[\"info\"]).toBe(\"number\")\n expect(typeof LevelThresholds[\"warn\"]).toBe(\"number\")\n expect(typeof LevelThresholds[\"error\"]).toBe(\"number\")\n expect(typeof LevelThresholds[\"fatal\"]).toBe(\"number\")\n })\n\n it(\"has ascending thresholds: trace < debug < info < warn < error < fatal\", () => {\n expect(LevelThresholds[\"trace\"]).toBeLessThan(LevelThresholds[\"debug\"])\n expect(LevelThresholds[\"debug\"]).toBeLessThan(LevelThresholds[\"info\"])\n expect(LevelThresholds[\"info\"]).toBeLessThan(LevelThresholds[\"warn\"])\n expect(LevelThresholds[\"warn\"]).toBeLessThan(LevelThresholds[\"error\"])\n expect(LevelThresholds[\"error\"]).toBeLessThan(LevelThresholds[\"fatal\"])\n })\n})\n"]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Logger_1 = require("@wireio/shared/logging/Logger");
|
|
4
|
+
const LoggingManager_1 = require("@wireio/shared/logging/LoggingManager");
|
|
5
|
+
const Level_1 = require("@wireio/shared/logging/Level");
|
|
4
6
|
describe("Logger", () => {
|
|
5
7
|
let manager;
|
|
6
8
|
let records;
|
|
@@ -11,22 +13,22 @@ describe("Logger", () => {
|
|
|
11
13
|
};
|
|
12
14
|
beforeEach(() => {
|
|
13
15
|
records = [];
|
|
14
|
-
manager = LoggingManager.get();
|
|
15
|
-
manager.setRootLevel(Level.trace);
|
|
16
|
+
manager = LoggingManager_1.LoggingManager.get();
|
|
17
|
+
manager.setRootLevel(Level_1.Level.trace);
|
|
16
18
|
manager.setAppenders(mockAppender);
|
|
17
19
|
});
|
|
18
20
|
it("can be created from a LoggingManager", () => {
|
|
19
21
|
const logger = manager.getLogger("test");
|
|
20
|
-
expect(logger).toBeInstanceOf(Logger);
|
|
22
|
+
expect(logger).toBeInstanceOf(Logger_1.Logger);
|
|
21
23
|
});
|
|
22
24
|
it("respects root level - info messages do not fire when root is warn", () => {
|
|
23
|
-
manager.setRootLevel(Level.warn);
|
|
25
|
+
manager.setRootLevel(Level_1.Level.warn);
|
|
24
26
|
const logger = manager.getLogger("test-root-level");
|
|
25
27
|
logger.info("should not appear");
|
|
26
28
|
expect(records).toHaveLength(0);
|
|
27
29
|
});
|
|
28
30
|
it("fires appender for messages at or above threshold", () => {
|
|
29
|
-
manager.setRootLevel(Level.warn);
|
|
31
|
+
manager.setRootLevel(Level_1.Level.warn);
|
|
30
32
|
const logger = manager.getLogger("test-threshold");
|
|
31
33
|
logger.warn("warning message");
|
|
32
34
|
logger.error("error message");
|
|
@@ -72,7 +74,7 @@ describe("Logger", () => {
|
|
|
72
74
|
});
|
|
73
75
|
describe("isXxxEnabled methods", () => {
|
|
74
76
|
it("reflects current threshold", () => {
|
|
75
|
-
manager.setRootLevel(Level.warn);
|
|
77
|
+
manager.setRootLevel(Level_1.Level.warn);
|
|
76
78
|
const logger = manager.getLogger("test-enabled");
|
|
77
79
|
expect(logger.isTraceEnabled()).toBe(false);
|
|
78
80
|
expect(logger.isDebugEnabled()).toBe(false);
|
|
@@ -82,7 +84,7 @@ describe("Logger", () => {
|
|
|
82
84
|
expect(logger.isFatalEnabled()).toBe(true);
|
|
83
85
|
});
|
|
84
86
|
it("all enabled when root level is trace", () => {
|
|
85
|
-
manager.setRootLevel(Level.trace);
|
|
87
|
+
manager.setRootLevel(Level_1.Level.trace);
|
|
86
88
|
const logger = manager.getLogger("test-all-enabled");
|
|
87
89
|
expect(logger.isTraceEnabled()).toBe(true);
|
|
88
90
|
expect(logger.isDebugEnabled()).toBe(true);
|
|
@@ -94,10 +96,10 @@ describe("Logger", () => {
|
|
|
94
96
|
});
|
|
95
97
|
describe("setOverrideLevel", () => {
|
|
96
98
|
it("changes the logger individual threshold", () => {
|
|
97
|
-
manager.setRootLevel(Level.error);
|
|
99
|
+
manager.setRootLevel(Level_1.Level.error);
|
|
98
100
|
const logger = manager.getLogger("test-override");
|
|
99
101
|
expect(logger.isDebugEnabled()).toBe(false);
|
|
100
|
-
logger.setOverrideLevel(Level.debug);
|
|
102
|
+
logger.setOverrideLevel(Level_1.Level.debug);
|
|
101
103
|
expect(logger.isDebugEnabled()).toBe(true);
|
|
102
104
|
});
|
|
103
105
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.test.js","sourceRoot":"","sources":["../../../tests/logging/Logger.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Logger } from \"@wireio/shared/logging/Logger\"\nimport { LoggingManager } from \"@wireio/shared/logging/LoggingManager\"\nimport { Level } from \"@wireio/shared/logging/Level\"\nimport type { LogRecord } from \"@wireio/shared/logging/LogRecord\"\n\ndescribe(\"Logger\", () => {\n let manager: LoggingManager\n let records: LogRecord[]\n const mockAppender = {\n append: (record: LogRecord) => {\n records.push(record)\n }\n }\n\n beforeEach(() => {\n records = []\n manager = LoggingManager.get()\n manager.setRootLevel(Level.trace)\n manager.setAppenders(mockAppender)\n })\n\n it(\"can be created from a LoggingManager\", () => {\n const logger = manager.getLogger(\"test\")\n expect(logger).toBeInstanceOf(Logger)\n })\n\n it(\"respects root level - info messages do not fire when root is warn\", () => {\n manager.setRootLevel(Level.warn)\n const logger = manager.getLogger(\"test-root-level\")\n logger.info(\"should not appear\")\n expect(records).toHaveLength(0)\n })\n\n it(\"fires appender for messages at or above threshold\", () => {\n manager.setRootLevel(Level.warn)\n const logger = manager.getLogger(\"test-threshold\")\n logger.warn(\"warning message\")\n logger.error(\"error message\")\n expect(records).toHaveLength(2)\n })\n\n describe(\"level methods create correct records\", () => {\n it(\"trace creates a record with level trace\", () => {\n const logger = manager.getLogger(\"test-trace\")\n logger.trace(\"trace msg\")\n expect(records[0].level).toBe(\"trace\")\n expect(records[0].message).toBe(\"trace msg\")\n })\n\n it(\"debug creates a record with level debug\", () => {\n const logger = manager.getLogger(\"test-debug\")\n logger.debug(\"debug msg\")\n expect(records[0].level).toBe(\"debug\")\n expect(records[0].message).toBe(\"debug msg\")\n })\n\n it(\"info creates a record with level info\", () => {\n const logger = manager.getLogger(\"test-info\")\n logger.info(\"info msg\")\n expect(records[0].level).toBe(\"info\")\n expect(records[0].message).toBe(\"info msg\")\n })\n\n it(\"warn creates a record with level warn\", () => {\n const logger = manager.getLogger(\"test-warn\")\n logger.warn(\"warn msg\")\n expect(records[0].level).toBe(\"warn\")\n expect(records[0].message).toBe(\"warn msg\")\n })\n\n it(\"error creates a record with level error\", () => {\n const logger = manager.getLogger(\"test-error\")\n logger.error(\"error msg\")\n expect(records[0].level).toBe(\"error\")\n expect(records[0].message).toBe(\"error msg\")\n })\n\n it(\"fatal creates a record with level fatal\", () => {\n const logger = manager.getLogger(\"test-fatal\")\n logger.fatal(\"fatal msg\")\n expect(records[0].level).toBe(\"fatal\")\n expect(records[0].message).toBe(\"fatal msg\")\n })\n })\n\n describe(\"isXxxEnabled methods\", () => {\n it(\"reflects current threshold\", () => {\n manager.setRootLevel(Level.warn)\n const logger = manager.getLogger(\"test-enabled\")\n expect(logger.isTraceEnabled()).toBe(false)\n expect(logger.isDebugEnabled()).toBe(false)\n expect(logger.isInfoEnabled()).toBe(false)\n expect(logger.isWarnEnabled()).toBe(true)\n expect(logger.isErrorEnabled()).toBe(true)\n expect(logger.isFatalEnabled()).toBe(true)\n })\n\n it(\"all enabled when root level is trace\", () => {\n manager.setRootLevel(Level.trace)\n const logger = manager.getLogger(\"test-all-enabled\")\n expect(logger.isTraceEnabled()).toBe(true)\n expect(logger.isDebugEnabled()).toBe(true)\n expect(logger.isInfoEnabled()).toBe(true)\n expect(logger.isWarnEnabled()).toBe(true)\n expect(logger.isErrorEnabled()).toBe(true)\n expect(logger.isFatalEnabled()).toBe(true)\n })\n })\n\n describe(\"setOverrideLevel\", () => {\n it(\"changes the logger individual threshold\", () => {\n manager.setRootLevel(Level.error)\n const logger = manager.getLogger(\"test-override\")\n expect(logger.isDebugEnabled()).toBe(false)\n logger.setOverrideLevel(Level.debug)\n expect(logger.isDebugEnabled()).toBe(true)\n })\n })\n\n describe(\"assert\", () => {\n it(\"does not log when test is true\", () => {\n const logger = manager.getLogger(\"test-assert-true\")\n logger.assert(true, \"should not log\")\n expect(records).toHaveLength(0)\n })\n\n it(\"logs an error when test is false\", () => {\n const logger = manager.getLogger(\"test-assert-false\")\n logger.assert(false, \"assertion failed\")\n expect(records).toHaveLength(1)\n expect(records[0].level).toBe(\"error\")\n expect(records[0].message).toBe(\"assertion failed\")\n })\n })\n})\n"]}
|
|
1
|
+
{"version":3,"file":"Logger.test.js","sourceRoot":"","sources":["../../../tests/logging/Logger.test.ts"],"names":[],"mappings":";;AAAA,0DAAsD;AACtD,0EAAsE;AACtE,wDAAoD;AAGpD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,IAAI,OAAuB,CAAA;IAC3B,IAAI,OAAoB,CAAA;IACxB,MAAM,YAAY,GAAG;QACnB,MAAM,EAAE,CAAC,MAAiB,EAAE,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;KACF,CAAA;IAED,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE,CAAA;QACZ,OAAO,GAAG,+BAAc,CAAC,GAAG,EAAE,CAAA;QAC9B,OAAO,CAAC,YAAY,CAAC,aAAK,CAAC,KAAK,CAAC,CAAA;QACjC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,eAAM,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,OAAO,CAAC,YAAY,CAAC,aAAK,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QACnD,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,OAAO,CAAC,YAAY,CAAC,aAAK,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAClD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC9B,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAC7B,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;QACpD,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACzB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACzB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YAC7C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACvB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YAC7C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACvB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACzB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACzB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,OAAO,CAAC,YAAY,CAAC,aAAK,CAAC,IAAI,CAAC,CAAA;YAChC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;YAChD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3C,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,OAAO,CAAC,YAAY,CAAC,aAAK,CAAC,KAAK,CAAC,CAAA;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;YACpD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,OAAO,CAAC,YAAY,CAAC,aAAK,CAAC,KAAK,CAAC,CAAA;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;YACjD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3C,MAAM,CAAC,gBAAgB,CAAC,aAAK,CAAC,KAAK,CAAC,CAAA;YACpC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;YACpD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAA;YACrD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;YACxC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { Logger } from \"@wireio/shared/logging/Logger\"\nimport { LoggingManager } from \"@wireio/shared/logging/LoggingManager\"\nimport { Level } from \"@wireio/shared/logging/Level\"\nimport type { LogRecord } from \"@wireio/shared/logging/LogRecord\"\n\ndescribe(\"Logger\", () => {\n let manager: LoggingManager\n let records: LogRecord[]\n const mockAppender = {\n append: (record: LogRecord) => {\n records.push(record)\n }\n }\n\n beforeEach(() => {\n records = []\n manager = LoggingManager.get()\n manager.setRootLevel(Level.trace)\n manager.setAppenders(mockAppender)\n })\n\n it(\"can be created from a LoggingManager\", () => {\n const logger = manager.getLogger(\"test\")\n expect(logger).toBeInstanceOf(Logger)\n })\n\n it(\"respects root level - info messages do not fire when root is warn\", () => {\n manager.setRootLevel(Level.warn)\n const logger = manager.getLogger(\"test-root-level\")\n logger.info(\"should not appear\")\n expect(records).toHaveLength(0)\n })\n\n it(\"fires appender for messages at or above threshold\", () => {\n manager.setRootLevel(Level.warn)\n const logger = manager.getLogger(\"test-threshold\")\n logger.warn(\"warning message\")\n logger.error(\"error message\")\n expect(records).toHaveLength(2)\n })\n\n describe(\"level methods create correct records\", () => {\n it(\"trace creates a record with level trace\", () => {\n const logger = manager.getLogger(\"test-trace\")\n logger.trace(\"trace msg\")\n expect(records[0].level).toBe(\"trace\")\n expect(records[0].message).toBe(\"trace msg\")\n })\n\n it(\"debug creates a record with level debug\", () => {\n const logger = manager.getLogger(\"test-debug\")\n logger.debug(\"debug msg\")\n expect(records[0].level).toBe(\"debug\")\n expect(records[0].message).toBe(\"debug msg\")\n })\n\n it(\"info creates a record with level info\", () => {\n const logger = manager.getLogger(\"test-info\")\n logger.info(\"info msg\")\n expect(records[0].level).toBe(\"info\")\n expect(records[0].message).toBe(\"info msg\")\n })\n\n it(\"warn creates a record with level warn\", () => {\n const logger = manager.getLogger(\"test-warn\")\n logger.warn(\"warn msg\")\n expect(records[0].level).toBe(\"warn\")\n expect(records[0].message).toBe(\"warn msg\")\n })\n\n it(\"error creates a record with level error\", () => {\n const logger = manager.getLogger(\"test-error\")\n logger.error(\"error msg\")\n expect(records[0].level).toBe(\"error\")\n expect(records[0].message).toBe(\"error msg\")\n })\n\n it(\"fatal creates a record with level fatal\", () => {\n const logger = manager.getLogger(\"test-fatal\")\n logger.fatal(\"fatal msg\")\n expect(records[0].level).toBe(\"fatal\")\n expect(records[0].message).toBe(\"fatal msg\")\n })\n })\n\n describe(\"isXxxEnabled methods\", () => {\n it(\"reflects current threshold\", () => {\n manager.setRootLevel(Level.warn)\n const logger = manager.getLogger(\"test-enabled\")\n expect(logger.isTraceEnabled()).toBe(false)\n expect(logger.isDebugEnabled()).toBe(false)\n expect(logger.isInfoEnabled()).toBe(false)\n expect(logger.isWarnEnabled()).toBe(true)\n expect(logger.isErrorEnabled()).toBe(true)\n expect(logger.isFatalEnabled()).toBe(true)\n })\n\n it(\"all enabled when root level is trace\", () => {\n manager.setRootLevel(Level.trace)\n const logger = manager.getLogger(\"test-all-enabled\")\n expect(logger.isTraceEnabled()).toBe(true)\n expect(logger.isDebugEnabled()).toBe(true)\n expect(logger.isInfoEnabled()).toBe(true)\n expect(logger.isWarnEnabled()).toBe(true)\n expect(logger.isErrorEnabled()).toBe(true)\n expect(logger.isFatalEnabled()).toBe(true)\n })\n })\n\n describe(\"setOverrideLevel\", () => {\n it(\"changes the logger individual threshold\", () => {\n manager.setRootLevel(Level.error)\n const logger = manager.getLogger(\"test-override\")\n expect(logger.isDebugEnabled()).toBe(false)\n logger.setOverrideLevel(Level.debug)\n expect(logger.isDebugEnabled()).toBe(true)\n })\n })\n\n describe(\"assert\", () => {\n it(\"does not log when test is true\", () => {\n const logger = manager.getLogger(\"test-assert-true\")\n logger.assert(true, \"should not log\")\n expect(records).toHaveLength(0)\n })\n\n it(\"logs an error when test is false\", () => {\n const logger = manager.getLogger(\"test-assert-false\")\n logger.assert(false, \"assertion failed\")\n expect(records).toHaveLength(1)\n expect(records[0].level).toBe(\"error\")\n expect(records[0].message).toBe(\"assertion failed\")\n })\n })\n})\n"]}
|
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const LoggingManager_1 = require("@wireio/shared/logging/LoggingManager");
|
|
4
|
+
const Level_1 = require("@wireio/shared/logging/Level");
|
|
5
|
+
const Logger_1 = require("@wireio/shared/logging/Logger");
|
|
4
6
|
describe("LoggingManager", () => {
|
|
5
7
|
let manager;
|
|
6
8
|
beforeEach(() => {
|
|
7
|
-
manager = LoggingManager.get();
|
|
8
|
-
manager.setRootLevel(Level.info);
|
|
9
|
+
manager = LoggingManager_1.LoggingManager.get();
|
|
10
|
+
manager.setRootLevel(Level_1.Level.info);
|
|
9
11
|
manager.setAppenders();
|
|
10
12
|
manager.clearThresholdOverrides();
|
|
11
13
|
});
|
|
12
14
|
describe("singleton", () => {
|
|
13
15
|
it("LoggingManager.get() returns the same instance on repeated calls", () => {
|
|
14
|
-
const a = LoggingManager.get();
|
|
15
|
-
const b = LoggingManager.get();
|
|
16
|
+
const a = LoggingManager_1.LoggingManager.get();
|
|
17
|
+
const b = LoggingManager_1.LoggingManager.get();
|
|
16
18
|
expect(a).toBe(b);
|
|
17
19
|
});
|
|
18
20
|
});
|
|
19
21
|
describe("setRootLevel", () => {
|
|
20
22
|
it("changes rootLevel", () => {
|
|
21
|
-
manager.setRootLevel(Level.warn);
|
|
22
|
-
expect(manager.rootLevel).toBe(Level.warn);
|
|
23
|
+
manager.setRootLevel(Level_1.Level.warn);
|
|
24
|
+
expect(manager.rootLevel).toBe(Level_1.Level.warn);
|
|
23
25
|
});
|
|
24
26
|
it("changes rootThreshold accordingly", () => {
|
|
25
|
-
manager.setRootLevel(Level.error);
|
|
26
|
-
expect(manager.rootThreshold).toBe(LevelThresholds["error"]);
|
|
27
|
+
manager.setRootLevel(Level_1.Level.error);
|
|
28
|
+
expect(manager.rootThreshold).toBe(Level_1.LevelThresholds["error"]);
|
|
27
29
|
});
|
|
28
30
|
});
|
|
29
31
|
describe("setAppenders", () => {
|
|
@@ -53,24 +55,24 @@ describe("LoggingManager", () => {
|
|
|
53
55
|
});
|
|
54
56
|
describe("setThresholdOverrides", () => {
|
|
55
57
|
it("sets category-specific overrides", () => {
|
|
56
|
-
manager.setThresholdOverrides(["myCategory", Level.debug]);
|
|
58
|
+
manager.setThresholdOverrides(["myCategory", Level_1.Level.debug]);
|
|
57
59
|
expect(manager.thresholdOverrides).toHaveLength(1);
|
|
58
|
-
expect(manager.thresholdOverrides[0]).toEqual(["myCategory", Level.debug]);
|
|
60
|
+
expect(manager.thresholdOverrides[0]).toEqual(["myCategory", Level_1.Level.debug]);
|
|
59
61
|
});
|
|
60
62
|
});
|
|
61
63
|
describe("determineThresholdOverride", () => {
|
|
62
64
|
it("matches string category against overrides", () => {
|
|
63
|
-
manager.setThresholdOverrides(["myCategory", Level.debug]);
|
|
65
|
+
manager.setThresholdOverrides(["myCategory", Level_1.Level.debug]);
|
|
64
66
|
const threshold = manager.determineThresholdOverride("myCategory");
|
|
65
|
-
expect(threshold).toBe(LevelThresholds["debug"]);
|
|
67
|
+
expect(threshold).toBe(Level_1.LevelThresholds["debug"]);
|
|
66
68
|
});
|
|
67
69
|
it("matches regex category against overrides", () => {
|
|
68
|
-
manager.setThresholdOverrides([/^my.*/, Level.trace]);
|
|
70
|
+
manager.setThresholdOverrides([/^my.*/, Level_1.Level.trace]);
|
|
69
71
|
const threshold = manager.determineThresholdOverride("myCategory");
|
|
70
|
-
expect(threshold).toBe(LevelThresholds["trace"]);
|
|
72
|
+
expect(threshold).toBe(Level_1.LevelThresholds["trace"]);
|
|
71
73
|
});
|
|
72
74
|
it("returns null when no override matches", () => {
|
|
73
|
-
manager.setThresholdOverrides(["other", Level.debug]);
|
|
75
|
+
manager.setThresholdOverrides(["other", Level_1.Level.debug]);
|
|
74
76
|
const threshold = manager.determineThresholdOverride("noMatch");
|
|
75
77
|
expect(threshold).toBeNull();
|
|
76
78
|
});
|
|
@@ -78,7 +80,7 @@ describe("LoggingManager", () => {
|
|
|
78
80
|
describe("getLogger", () => {
|
|
79
81
|
it("returns a Logger instance", () => {
|
|
80
82
|
const logger = manager.getLogger("testCategory");
|
|
81
|
-
expect(logger).toBeInstanceOf(Logger);
|
|
83
|
+
expect(logger).toBeInstanceOf(Logger_1.Logger);
|
|
82
84
|
});
|
|
83
85
|
it("returns the correct category", () => {
|
|
84
86
|
const logger = manager.getLogger("testCategory");
|
|
@@ -108,7 +110,7 @@ describe("LoggingManager", () => {
|
|
|
108
110
|
const record = {
|
|
109
111
|
timestamp: Date.now(),
|
|
110
112
|
category: "test",
|
|
111
|
-
level: Level.info,
|
|
113
|
+
level: Level_1.Level.info,
|
|
112
114
|
message: "hello"
|
|
113
115
|
};
|
|
114
116
|
manager.fire(record);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoggingManager.test.js","sourceRoot":"","sources":["../../../tests/logging/LoggingManager.test.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"LoggingManager.test.js","sourceRoot":"","sources":["../../../tests/logging/LoggingManager.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { LoggingManager } from \"@wireio/shared/logging/LoggingManager\"\nimport { Level, LevelThresholds } from \"@wireio/shared/logging/Level\"\nimport { Logger } from \"@wireio/shared/logging/Logger\"\nimport type { LogRecord } from \"@wireio/shared/logging/LogRecord\"\n\ndescribe(\"LoggingManager\", () => {\n let manager: LoggingManager\n\n beforeEach(() => {\n manager = LoggingManager.get()\n manager.setRootLevel(Level.info)\n manager.setAppenders()\n manager.clearThresholdOverrides()\n })\n\n describe(\"singleton\", () => {\n it(\"LoggingManager.get() returns the same instance on repeated calls\", () => {\n const a = LoggingManager.get()\n const b = LoggingManager.get()\n expect(a).toBe(b)\n })\n })\n\n describe(\"setRootLevel\", () => {\n it(\"changes rootLevel\", () => {\n manager.setRootLevel(Level.warn)\n expect(manager.rootLevel).toBe(Level.warn)\n })\n\n it(\"changes rootThreshold accordingly\", () => {\n manager.setRootLevel(Level.error)\n expect(manager.rootThreshold).toBe(LevelThresholds[\"error\"])\n })\n })\n\n describe(\"setAppenders\", () => {\n it(\"replaces existing appenders\", () => {\n const records: LogRecord[] = []\n const appenderA = { append: () => {} }\n const appenderB = {\n append: (record: LogRecord) => {\n records.push(record)\n }\n }\n manager.setAppenders(appenderA)\n manager.setAppenders(appenderB)\n expect(manager.appenders).toContain(appenderB)\n expect(manager.appenders).not.toContain(appenderA)\n })\n })\n\n describe(\"addAppenders\", () => {\n it(\"adds to existing appenders\", () => {\n const appenderA = { append: () => {} }\n const appenderB = { append: () => {} }\n manager.setAppenders(appenderA)\n manager.addAppenders(appenderB)\n expect(manager.appenders).toContain(appenderA)\n expect(manager.appenders).toContain(appenderB)\n })\n })\n\n describe(\"setThresholdOverrides\", () => {\n it(\"sets category-specific overrides\", () => {\n manager.setThresholdOverrides([\"myCategory\", Level.debug])\n expect(manager.thresholdOverrides).toHaveLength(1)\n expect(manager.thresholdOverrides[0]).toEqual([\"myCategory\", Level.debug])\n })\n })\n\n describe(\"determineThresholdOverride\", () => {\n it(\"matches string category against overrides\", () => {\n manager.setThresholdOverrides([\"myCategory\", Level.debug])\n const threshold = manager.determineThresholdOverride(\"myCategory\")\n expect(threshold).toBe(LevelThresholds[\"debug\"])\n })\n\n it(\"matches regex category against overrides\", () => {\n manager.setThresholdOverrides([/^my.*/, Level.trace])\n const threshold = manager.determineThresholdOverride(\"myCategory\")\n expect(threshold).toBe(LevelThresholds[\"trace\"])\n })\n\n it(\"returns null when no override matches\", () => {\n manager.setThresholdOverrides([\"other\", Level.debug])\n const threshold = manager.determineThresholdOverride(\"noMatch\")\n expect(threshold).toBeNull()\n })\n })\n\n describe(\"getLogger\", () => {\n it(\"returns a Logger instance\", () => {\n const logger = manager.getLogger(\"testCategory\")\n expect(logger).toBeInstanceOf(Logger)\n })\n\n it(\"returns the correct category\", () => {\n const logger = manager.getLogger(\"testCategory\")\n expect(logger.category).toBe(\"testCategory\")\n })\n\n it(\"caches loggers by category\", () => {\n const logger1 = manager.getLogger(\"cachedCategory\")\n const logger2 = manager.getLogger(\"cachedCategory\")\n expect(logger1).toBe(logger2)\n })\n })\n\n describe(\"fire\", () => {\n it(\"sends record to all appenders\", () => {\n const recordsA: LogRecord[] = []\n const recordsB: LogRecord[] = []\n const appenderA = {\n append: (record: LogRecord) => {\n recordsA.push(record)\n }\n }\n const appenderB = {\n append: (record: LogRecord) => {\n recordsB.push(record)\n }\n }\n manager.setAppenders(appenderA, appenderB)\n\n const record: LogRecord = {\n timestamp: Date.now(),\n category: \"test\",\n level: Level.info,\n message: \"hello\"\n }\n manager.fire(record)\n\n expect(recordsA).toHaveLength(1)\n expect(recordsA[0].message).toBe(\"hello\")\n expect(recordsB).toHaveLength(1)\n expect(recordsB[0].message).toBe(\"hello\")\n })\n })\n})\n"]}
|