diff --git a/ui/src/components/MarkdownEditor.test.tsx b/ui/src/components/MarkdownEditor.test.tsx
index 4d46cc3aa37..aac6345cd86 100644
--- a/ui/src/components/MarkdownEditor.test.tsx
+++ b/ui/src/components/MarkdownEditor.test.tsx
@@ -22,6 +22,10 @@ const mdxEditorMockState = vi.hoisted(() => ({
suppressHtmlProcessingValues: [] as boolean[],
}));
+function containsHtmlLikeTag(markdown: string) {
+ return /<\/?[A-Za-z][A-Za-z0-9:-]*(?:\s[^>]*)?\/?>/.test(markdown);
+}
+
vi.mock("@mdxeditor/editor", async () => {
const React = await import("react");
@@ -63,7 +67,7 @@ vi.mock("@mdxeditor/editor", async () => {
}), []);
React.useEffect(() => {
- if (!suppressHtmlProcessing && (markdown.includes("
"))) {
+ if (!suppressHtmlProcessing && containsHtmlLikeTag(markdown)) {
setContent("");
onError?.({
error: "Error parsing markdown: HTML-like formatting requires suppressHtmlProcessing",
@@ -260,13 +264,13 @@ describe("MarkdownEditor", () => {
});
});
- it("keeps LLM wrapper tags in the rich editor instead of falling back to raw source", async () => {
+ it("keeps arbitrary HTML-like tags in the rich editor instead of falling back to raw source", async () => {
const root = createRoot(container);
await act(async () => {
root.render(
\n## My take\n\nBenchmark notes\n"}
+ value={'\n## My take\n\nBenchmark notes
\n'}
onChange={() => {}}
placeholder="Markdown body"
/>,