From e1093a3177ecb58f070a8fbc33166f44d2c4a8e9 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Fri, 3 Apr 2026 18:39:02 +0900 Subject: [PATCH] test(diffs): split render coverage from config tests --- extensions/diffs/src/config.test.ts | 218 +-------------------------- extensions/diffs/src/render.test.ts | 219 ++++++++++++++++++++++++++++ 2 files changed, 220 insertions(+), 217 deletions(-) create mode 100644 extensions/diffs/src/render.test.ts diff --git a/extensions/diffs/src/config.test.ts b/extensions/diffs/src/config.test.ts index bb6a244bdf9..4ba7d47a677 100644 --- a/extensions/diffs/src/config.test.ts +++ b/extensions/diffs/src/config.test.ts @@ -1,12 +1,6 @@ import fs from "node:fs"; -import { - disposeHighlighter, - RegisteredCustomThemes, - ResolvedThemes, - ResolvingThemes, -} from "@pierre/diffs"; import AjvPkg from "ajv"; -import { afterEach, describe, expect, it, vi } from "vitest"; +import { describe, expect, it, vi } from "vitest"; import { DEFAULT_DIFFS_PLUGIN_SECURITY, DEFAULT_DIFFS_TOOL_DEFAULTS, @@ -16,7 +10,6 @@ import { resolveDiffsPluginSecurity, resolveDiffsPluginViewerBaseUrl, } from "./config.js"; -import { renderDiffDocument } from "./render.js"; import { buildViewerUrl, normalizeViewerBaseUrl } from "./url.js"; import { getServedViewerAsset, @@ -403,215 +396,6 @@ describe("diffs viewer URL helpers", () => { }); }); -describe("renderDiffDocument", () => { - afterEach(async () => { - await disposeHighlighter(); - }); - - it("renders before/after input into a complete viewer document", async () => { - const rendered = await renderDiffDocument( - { - kind: "before_after", - before: "const value = 1;\n", - after: "const value = 2;\n", - path: "src/example.ts", - }, - { - presentation: DEFAULT_DIFFS_TOOL_DEFAULTS, - image: resolveDiffImageRenderOptions({ defaults: DEFAULT_DIFFS_TOOL_DEFAULTS }), - expandUnchanged: false, - }, - ); - - expect(rendered.title).toBe("src/example.ts"); - expect(rendered.fileCount).toBe(1); - expect(rendered.html).toContain("data-openclaw-diff-root"); - expect(rendered.html).toContain("src/example.ts"); - expect(rendered.html).toContain("../../assets/viewer.js"); - expect(rendered.imageHtml).toContain("../../assets/viewer.js"); - expect(rendered.imageHtml).toContain("max-width: 960px;"); - expect(rendered.imageHtml).toContain("--diffs-font-size: 16px;"); - expect(rendered.html).toContain("min-height: 100vh;"); - expect(rendered.html).toContain('"diffIndicators":"bars"'); - expect(rendered.html).toContain('"disableLineNumbers":false'); - expect(rendered.html).toContain("--diffs-line-height: 24px;"); - expect(rendered.html).toContain("--diffs-font-size: 15px;"); - expect(rendered.html).not.toContain("fonts.googleapis.com"); - }); - - it("resolves viewer assets under an optional base path", async () => { - const rendered = await renderDiffDocument( - { - kind: "before_after", - before: "const value = 1;\n", - after: "const value = 2;\n", - }, - { - presentation: DEFAULT_DIFFS_TOOL_DEFAULTS, - image: resolveDiffImageRenderOptions({ defaults: DEFAULT_DIFFS_TOOL_DEFAULTS }), - expandUnchanged: false, - }, - ); - - const html = rendered.html ?? ""; - const loaderSrc = html.match(/