import { describe, it, expect } from "vitest"; import markdownExportService from "./md.js"; import { trimIndentation } from "../../../spec/support/utils.js"; describe("Markdown export", () => { it("exports correct language tag for known languages", () => { const conversionTable = { "language-text-x-nginx-conf": "nginx", "language-text-x-diff": "diff", "language-application-javascript-env-frontend": "javascript", "language-application-javascript-env-backend": "javascript" }; for (const [ input, output ] of Object.entries(conversionTable)) { const html = trimIndentation`\
A diff:
Hello
-world
+worldy
`;
const expected = trimIndentation`\
A diff:
\`\`\`${output}
Hello
-world
+worldy
\`\`\``;
expect(markdownExportService.toMarkdown(html)).toBe(expected);
}
});
it("removes auto tag for code blocks", () => {
const html = trimIndentation`\
Hello
-world
+worldy
`;
const expected = trimIndentation`\
\`\`\`
Hello
-world
+worldy
\`\`\``;
expect(markdownExportService.toMarkdown(html)).toBe(expected);
});
it("supports code block with no language tag", () => {
const html = trimIndentation`\
Hello
`;
const expected = trimIndentation`\
\`\`\`
Hello
\`\`\``;
expect(markdownExportService.toMarkdown(html)).toBe(expected);
});
it("exports strikethrough text correctly", () => {
const html = "