diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 420d0129..f40d840e 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -145,6 +145,7 @@ import "./tests/RAKE.mjs"; import "./tests/Regex.mjs"; import "./tests/Register.mjs"; import "./tests/RegularExpression.mjs"; +import "./tests/RenderMarkdown.mjs"; import "./tests/RisonEncodeDecode.mjs"; import "./tests/Rotate.mjs"; import "./tests/RSA.mjs"; diff --git a/tests/operations/tests/RenderMarkdown.mjs b/tests/operations/tests/RenderMarkdown.mjs new file mode 100644 index 00000000..47781e5e --- /dev/null +++ b/tests/operations/tests/RenderMarkdown.mjs @@ -0,0 +1,110 @@ +/** + * RenderMarkdown tests. + * + * @copyright Crown Copyright 2026 + * @license Apache-2.0 + */ + +import TestRegister from "../../lib/TestRegister.mjs"; + +TestRegister.addTests([ + { + name: "Render Markdown: Nothing", + input: "", + expectedOutput: '
', + recipeConfig: [ + { + "op": "Render Markdown", + "args": [] + } + ] + }, + { + name: "Render Markdown: Basic Text", + input: "Hello World!", + expectedOutput: '

Hello World!

\n
', + recipeConfig: [ + { + "op": "Render Markdown", + "args": [] + } + ] + }, + { + name: "Render Markdown: Simple Markdown", + input: "# Hello World!", + expectedOutput: '

Hello World!

\n
', + recipeConfig: [ + { + "op": "Render Markdown", + "args": [] + } + ] + }, + { + name: "Render Markdown: URL (not expanded)", + input: "https://gchq.github.io/CyberChef/", + expectedOutput: '

https://gchq.github.io/CyberChef/

\n
', + recipeConfig: [ + { + "op": "Render Markdown", + "args": [false, false, false] + } + ] + }, + { + name: "Render Markdown: URL (expanded)", + input: "https://gchq.github.io/CyberChef/", + expectedOutput: '

https://gchq.github.io/CyberChef/

\n
', + recipeConfig: [ + { + "op": "Render Markdown", + "args": [true, false, false] + } + ] + }, + { + name: "Render Markdown: Link (not expanded)", + input: "[CyberChef](https://gchq.github.io/CyberChef/)", + expectedOutput: '

CyberChef

\n
', + recipeConfig: [ + { + "op": "Render Markdown", + "args": [false, false, false] + } + ] + }, + { + name: "Render Markdown: Link (expanded)", + input: "[CyberChef](https://gchq.github.io/CyberChef/)", + expectedOutput: '

CyberChef

\n
', + recipeConfig: [ + { + "op": "Render Markdown", + "args": [true, false, false] + } + ] + }, + { + name: "Render Markdown: Link (open in new window)", + input: "[CyberChef](https://gchq.github.io/CyberChef/)", + expectedOutput: '

CyberChef

\n
', + recipeConfig: [ + { + "op": "Render Markdown", + "args": [true, false, true] + } + ] + }, + { + name: "Render Markdown: URL (open in new window)", + input: "https://gchq.github.io/CyberChef/", + expectedOutput: '

https://gchq.github.io/CyberChef/

\n
', + recipeConfig: [ + { + "op": "Render Markdown", + "args": [true, false, true] + } + ] + }, +]);