diff --git a/ui/src/ui/markdown.test.ts b/ui/src/ui/markdown.test.ts index f637d4726a5..27bd5db94d4 100644 --- a/ui/src/ui/markdown.test.ts +++ b/ui/src/ui/markdown.test.ts @@ -1,5 +1,6 @@ import { render } from "lit"; import { describe, expect, it, vi } from "vitest"; +import { i18n } from "../i18n/index.ts"; import { md, toSanitizedMarkdownHtml } from "./markdown.ts"; import { renderMarkdownSidebar } from "./views/markdown-sidebar.ts"; @@ -317,6 +318,23 @@ describe("toSanitizedMarkdownHtml", () => { expect(html).toContain("data-code="); }); + it("keeps localized copy labels fresh after locale changes", async () => { + const markdown = "```ts\nconst localizedCopy = true;\n```"; + await i18n.setLocale("en"); + const english = toSanitizedMarkdownHtml(markdown); + + try { + await i18n.setLocale("zh-CN"); + const chinese = toSanitizedMarkdownHtml(markdown); + + expect(english).toContain(">Copy<"); + expect(chinese).toContain(">复制<"); + expect(chinese).not.toContain(">Copy<"); + } finally { + await i18n.setLocale("en"); + } + }); + it("collapses JSON code blocks", () => { const html = toSanitizedMarkdownHtml('```json\n{"key": "value"}\n```'); expect(html).toContain("