From d678c2c7b0ee267900a6ba2f8aad93ce56db8570 Mon Sep 17 00:00:00 2001 From: GCHQDeveloper581 <63102987+GCHQDeveloper581@users.noreply.github.com> Date: Sat, 25 Apr 2026 07:13:39 +0000 Subject: [PATCH] Add tests --- tests/operations/index.mjs | 1 + tests/operations/tests/RenderMarkdown.mjs | 110 ++++++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 tests/operations/tests/RenderMarkdown.mjs 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] + } + ] + }, +]);