refactor(core): extract shared dedup helpers

This commit is contained in:
Peter Steinberger
2026-03-07 10:40:49 +00:00
parent 14c61bb33f
commit 3c71e2bd48
114 changed files with 3400 additions and 2040 deletions

View File

@@ -0,0 +1,39 @@
import { describe, expect, it, vi } from "vitest";
import type { RuntimeEnv } from "../runtime.js";
import { resolveRuntimeEnv } from "./runtime.js";
describe("resolveRuntimeEnv", () => {
it("returns provided runtime when present", () => {
const runtime: RuntimeEnv = {
log: vi.fn(),
error: vi.fn(),
exit: vi.fn(() => {
throw new Error("exit");
}),
};
const logger = {
info: vi.fn(),
error: vi.fn(),
};
const resolved = resolveRuntimeEnv({ runtime, logger });
expect(resolved).toBe(runtime);
expect(logger.info).not.toHaveBeenCalled();
expect(logger.error).not.toHaveBeenCalled();
});
it("creates logger-backed runtime when runtime is missing", () => {
const logger = {
info: vi.fn(),
error: vi.fn(),
};
const resolved = resolveRuntimeEnv({ logger });
resolved.log?.("hello %s", "world");
resolved.error?.("bad %d", 7);
expect(logger.info).toHaveBeenCalledWith("hello world");
expect(logger.error).toHaveBeenCalledWith("bad 7");
});
});