diff --git a/.github/shared/src/logger.js b/.github/shared/src/logger.js index 8ccccd1ace86..0ae39e22d443 100644 --- a/.github/shared/src/logger.js +++ b/.github/shared/src/logger.js @@ -5,6 +5,7 @@ * @property {(message:string) => void} debug * @property {(message:string) => void} error * @property {(message:string) => void} info + * @property {(message:string) => void} warning * @property {() => boolean} isDebug */ @@ -51,6 +52,13 @@ export class ConsoleLogger { isDebug() { return this.#isDebug; } + + /** + * @param {string} message + */ + warning(message) { + console.warn(message); + } } // Singleton loggers diff --git a/.github/shared/test/logger.test.js b/.github/shared/test/logger.test.js index f474d44a12b5..644eaa3517e8 100644 --- a/.github/shared/test/logger.test.js +++ b/.github/shared/test/logger.test.js @@ -4,18 +4,20 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { ConsoleLogger, debugLogger, defaultLogger } from "../src/logger"; describe("logger", () => { - let debugSpy, errorSpy, logSpy; + let debugSpy, errorSpy, logSpy, warnSpy; beforeEach(() => { debugSpy = vi.spyOn(console, "debug"); errorSpy = vi.spyOn(console, "error"); logSpy = vi.spyOn(console, "log"); + warnSpy = vi.spyOn(console, "warn"); }); afterEach(() => { debugSpy.mockRestore(); errorSpy.mockRestore(); logSpy.mockRestore(); + warnSpy.mockRestore(); }); it.each([ @@ -29,6 +31,9 @@ describe("logger", () => { logger.info("test info"); expect(logSpy).toBeCalledWith("test info"); + logger.warning("test warning"); + expect(warnSpy).toBeCalledWith("test warning"); + logger.error("test error"); expect(errorSpy).toBeCalledWith("test error"); diff --git a/.github/workflows/src/core-logger.js b/.github/workflows/src/core-logger.js index 47de0bf70a96..5bc8763d693f 100644 --- a/.github/workflows/src/core-logger.js +++ b/.github/workflows/src/core-logger.js @@ -45,4 +45,11 @@ export class CoreLogger { isDebug() { return this.#core.isDebug(); } + + /** + * @param {string} message + */ + warning(message) { + this.#core.warning(message); + } } diff --git a/.github/workflows/test/core-logger.test.js b/.github/workflows/test/core-logger.test.js index 47c63bdae0f5..da0c10f9a0da 100644 --- a/.github/workflows/test/core-logger.test.js +++ b/.github/workflows/test/core-logger.test.js @@ -40,4 +40,13 @@ describe("CoreLogger", () => { expect(core.isDebug).toBeCalled(); }); + + it("warning", async () => { + const core = createMockCore(); + const logger = new CoreLogger(core); + + logger.warning("test warning"); + + expect(core.warning).toBeCalledWith("test warning"); + }); }); diff --git a/.github/workflows/test/mocks.js b/.github/workflows/test/mocks.js index bd494cbff7f4..e59d24b927b0 100644 --- a/.github/workflows/test/mocks.js +++ b/.github/workflows/test/mocks.js @@ -100,5 +100,6 @@ export function createMockLogger() { error: vi.fn(), info: vi.fn(), isDebug: vi.fn().mockReturnValue(false), + warning: vi.fn(), }; }