import MarkdownIt from "markdown-it"; import { describe, expect, it } from "vitest"; import { mdDemo, normalDemo, reactDemo, vueDemo, } from "../../src/node/markdown-it/codeDemo.js"; describe("demo", () => { const markdownIt = MarkdownIt({ linkify: true }) .use(normalDemo) .use(vueDemo) .use(reactDemo) .use(mdDemo); it("Should resolve demo info", () => { expect( markdownIt.render( ` ::: normal-demo A normal demo \`\`\`html

VuePress

Is very powerful

\`\`\` \`\`\`js document.querySelector("#very").addEventListener("click", () => { alert("Very powerful!"); }); \`\`\` \`\`\`css span { color: red; } \`\`\` ::: ::: react-demo A react demo \`\`\`js export default class App extends React.Component { constructor(props) { super(props); this.state = { message: "very powerful" }; } render() { return (
VuePress is {this.state.message}
); } } \`\`\` \`\`\`css .box-react span { color: red; } \`\`\` ::: ::: vue-demo A vue demo \`\`\`vue \`\`\` ::: ::: normal-demo A normal demo \`\`\`md # Title VuePress is powerful. \`\`\` \`\`\`ts const message: string = "Mr.Hope"; document.querySelector("h1").innerHTML = message; \`\`\` \`\`\`scss h1 { font-style: italic; + p { color: red; } } \`\`\` ::: ::: md-demo A Markdown demo # Title VuePress is powerful. ::: `, ), ).toMatchSnapshot(); }); });