0.29.1原版
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import { renderToStaticMarkup } from "react-dom/server";
|
||||
import ReactMarkdown from "react-markdown";
|
||||
import remarkGfm from "remark-gfm";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { getSingleLinkHref } from "@/components/MemoContent/markdown/Paragraph";
|
||||
|
||||
const collectSingleLinkHrefs = (content: string): Array<string | undefined> => {
|
||||
const hrefs: Array<string | undefined> = [];
|
||||
|
||||
renderToStaticMarkup(
|
||||
<ReactMarkdown
|
||||
remarkPlugins={[remarkGfm]}
|
||||
components={{
|
||||
p: ({ children, node }) => {
|
||||
hrefs.push(getSingleLinkHref(node));
|
||||
return <p>{children}</p>;
|
||||
},
|
||||
}}
|
||||
>
|
||||
{content}
|
||||
</ReactMarkdown>,
|
||||
);
|
||||
|
||||
return hrefs;
|
||||
};
|
||||
|
||||
describe("memo content paragraph links", () => {
|
||||
it("treats only bare single-link paragraphs as single link hrefs", () => {
|
||||
expect(collectSingleLinkHrefs("https://www.bilibili.com/\n\n[bilibili](https://www.bilibili.com/)")).toEqual([
|
||||
"https://www.bilibili.com/",
|
||||
undefined,
|
||||
]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user