diff --git a/src/debugger.ts b/src/debugger.ts index fbedce9f..b7c5c6fe 100644 --- a/src/debugger.ts +++ b/src/debugger.ts @@ -68,9 +68,8 @@ export function createDebugger( } if (options.inspect) { console.timeLog(logPrefix(event), event.args); - } else { - console.timeEnd(logPrefix(event)); } + console.timeEnd(logPrefix(event)); if (options.group) { console.groupEnd(); } diff --git a/test/debuger.test.ts b/test/debuger.test.ts index ea5ca001..7fda452d 100644 --- a/test/debuger.test.ts +++ b/test/debuger.test.ts @@ -51,6 +51,18 @@ describe("debugger", () => { await hooks.callHook("other:hook"); expect(console.time).toBeCalled(); }); + it("should end timer when inspect is true", async () => { + createDebugger(hooks, { inspect: true }); + await hooks.callHook("hook"); + expect(console.timeEnd).toBeCalledWith(expect.stringContaining("hook")); + }); + it("should not leak timers when calling same hook twice with inspect", async () => { + createDebugger(hooks, { inspect: true }); + await hooks.callHook("hook"); + await hooks.callHook("hook"); + expect(console.time).toBeCalledTimes(2); + expect(console.timeEnd).toBeCalledTimes(2); + }); it("should allowing closing debugger", async () => { const debug = createDebugger(hooks); await hooks.callHook("hook");