diff options
| author | Asko Nõmm <84135165+askonomm@users.noreply.github.com> | 2022-04-23 02:43:49 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-23 02:43:49 +0300 |
| commit | 70d88384ea788f7b2ad5ebb725762f7d27300504 (patch) | |
| tree | b371f12617949daf2b40538ba9a2e4457b657d0f /test/clarktown/renderers | |
| parent | 059bfa7bd9bfdde0c75646bf1dfc20d23da8a02c (diff) | |
| parent | dc921cbe1c786995a8670efd9f5556ee9df064f9 (diff) | |
Merge pull request #17 from askonomm/16-improve-architecture
Improve architecture
Diffstat (limited to 'test/clarktown/renderers')
| -rw-r--r-- | test/clarktown/renderers/bold_test.clj | 18 | ||||
| -rw-r--r-- | test/clarktown/renderers/code_block_test.clj | 15 | ||||
| -rw-r--r-- | test/clarktown/renderers/empty_block_test.clj | 10 | ||||
| -rw-r--r-- | test/clarktown/renderers/heading_block_test.clj | 44 | ||||
| -rw-r--r-- | test/clarktown/renderers/horizontal_line_block_test.clj | 13 | ||||
| -rw-r--r-- | test/clarktown/renderers/inline_code_test.clj | 14 | ||||
| -rw-r--r-- | test/clarktown/renderers/italic_test.clj | 18 | ||||
| -rw-r--r-- | test/clarktown/renderers/link_and_image_test.clj | 23 | ||||
| -rw-r--r-- | test/clarktown/renderers/quote_block_test.clj | 10 | ||||
| -rw-r--r-- | test/clarktown/renderers/strikethrough_test.clj | 14 |
10 files changed, 179 insertions, 0 deletions
diff --git a/test/clarktown/renderers/bold_test.clj b/test/clarktown/renderers/bold_test.clj new file mode 100644 index 0000000..28d9da8 --- /dev/null +++ b/test/clarktown/renderers/bold_test.clj @@ -0,0 +1,18 @@ +(ns clarktown.renderers.bold-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.renderers.bold :as bold])) + + +(deftest bold-renderer-test + (testing "Creating bold text with two surrounding asterisk characters" + (is (= "<strong>This is bold.</strong>" + (bold/render "**This is bold.**" nil nil)))) + + (testing "Creating bold text with two surrounding underscore characters" + (is (= "<strong>This is bold.</strong>" + (bold/render "__This is bold.__" nil nil)))) + + (testing "Creating bold text with both underscores and asterisks mixed" + (is (= "Hi, my name is <strong>John</strong>, what is <strong>your name?</strong>" + (bold/render "Hi, my name is **John**, what is __your name?__" nil nil)))))
\ No newline at end of file diff --git a/test/clarktown/renderers/code_block_test.clj b/test/clarktown/renderers/code_block_test.clj new file mode 100644 index 0000000..c5779be --- /dev/null +++ b/test/clarktown/renderers/code_block_test.clj @@ -0,0 +1,15 @@ +(ns clarktown.renderers.code-block-test + (:require + [clojure.test :refer [deftest testing is]] + [clojure.java.io :as io] + [clarktown.renderers.code-block :as code-block])) + + +(deftest code-block-renderer-test + (testing "Code block with language specification" + (is (= (slurp (io/file (io/resource "test/parsers/code_block_result.html"))) + (code-block/render (slurp (io/file (io/resource "test/parsers/code_block.md"))) nil nil)))) + + (testing "Code block with NO language specification" + (is (= (slurp (io/file (io/resource "test/parsers/code_block_no_language_result.html"))) + (code-block/render (slurp (io/file (io/resource "test/parsers/code_block_no_language.md"))) nil nil)))))
\ No newline at end of file diff --git a/test/clarktown/renderers/empty_block_test.clj b/test/clarktown/renderers/empty_block_test.clj new file mode 100644 index 0000000..da0fc7c --- /dev/null +++ b/test/clarktown/renderers/empty_block_test.clj @@ -0,0 +1,10 @@ +(ns clarktown.renderers.empty-block-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.renderers.empty-block :as empty-block])) + + +(deftest empty-block-renderer-test + (testing "Rendering an empty block" + (is (= (empty-block/render "" nil nil) + "")))) diff --git a/test/clarktown/renderers/heading_block_test.clj b/test/clarktown/renderers/heading_block_test.clj new file mode 100644 index 0000000..2196422 --- /dev/null +++ b/test/clarktown/renderers/heading_block_test.clj @@ -0,0 +1,44 @@ +(ns clarktown.renderers.heading-block-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.renderers.heading-block :as heading-block])) + + +(deftest atx-heading-renderer-test + (testing "Hashbang heading block that's a H1" + (is (= "<h1>This is a heading block.</h1>" + (heading-block/render "# This is a heading block." nil nil)))) + + (testing "Hashbang heading block that's a H2" + (is (= "<h2>This is a heading block.</h2>" + (heading-block/render "## This is a heading block." nil nil)))) + + (testing "Hashbang heading block that's a H3" + (is (= "<h3>This is a heading block.</h3>" + (heading-block/render "### This is a heading block." nil nil)))) + + (testing "Hashbang heading block that's a H4" + (is (= "<h4>This is a heading block.</h4>" + (heading-block/render "#### This is a heading block." nil nil)))) + + (testing "Hashbang heading block that's a H5" + (is (= "<h5>This is a heading block.</h5>" + (heading-block/render "##### This is a heading block." nil nil))))) + + +(deftest settext-heading-renderer-text + (testing "Settext heading block that's a H1" + (is (= "<h1>This is a heading block.</h1>" + (heading-block/render "This is a heading block.\n=========" nil nil)))) + + (testing "Settext heading block that's a H1 spanning multiple lines" + (is (= "<h1>This is a \nheading block spanning multiple lines.</h1>" + (heading-block/render "This is a \nheading block spanning multiple lines.\n========" nil nil)))) + + (testing "Settext heading block that's a H2" + (is (= "<h2>This is a heading block.</h2>" + (heading-block/render "This is a heading block.\n---------" nil nil)))) + + (testing "Settext heading block that's a H2 spanning multiple lines" + (is (= "<h2>This is a \nheading block spanning multiple lines.</h2>" + (heading-block/render "This is a \nheading block spanning multiple lines.\n--------" nil nil)))))
\ No newline at end of file diff --git a/test/clarktown/renderers/horizontal_line_block_test.clj b/test/clarktown/renderers/horizontal_line_block_test.clj new file mode 100644 index 0000000..9b23607 --- /dev/null +++ b/test/clarktown/renderers/horizontal_line_block_test.clj @@ -0,0 +1,13 @@ +(ns clarktown.renderers.horizontal-line-block-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.renderers.horizontal-line-block :as horizontal-line-block])) + + +(deftest horizontal-line-block-renderer-test + (testing "Creating a horizontal line" + (is (= (horizontal-line-block/render "***" nil nil) + "<hr>")) + + (is (= (horizontal-line-block/render "---" nil nil) + "<hr>")))) diff --git a/test/clarktown/renderers/inline_code_test.clj b/test/clarktown/renderers/inline_code_test.clj new file mode 100644 index 0000000..b1b277e --- /dev/null +++ b/test/clarktown/renderers/inline_code_test.clj @@ -0,0 +1,14 @@ +(ns clarktown.renderers.inline-code-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.renderers.inline-code :as inline-code])) + + +(deftest inline-code-renderer-test + (testing "Creating inline code text" + (is (= "<code>This is inline code.</code>" + (inline-code/render "`This is inline code.`" nil nil)))) + + (testing "Creating inline-code text in the middle of regular text" + (is (= "This is regular text, mixed with <code>some inline code.</code>, and it's great." + (inline-code/render "This is regular text, mixed with `some inline code.`, and it's great." nil nil)))))
\ No newline at end of file diff --git a/test/clarktown/renderers/italic_test.clj b/test/clarktown/renderers/italic_test.clj new file mode 100644 index 0000000..e85ee36 --- /dev/null +++ b/test/clarktown/renderers/italic_test.clj @@ -0,0 +1,18 @@ +(ns clarktown.renderers.italic-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.renderers.italic :as italic])) + + +(deftest italic-renderer-test + (testing "Creating italic text with one surrounding asterisk character" + (is (= "<em>This is italic.</em>" + (italic/render "*This is italic.*" nil nil)))) + + (testing "Creating italic text with one surrounding underscore character" + (is (= "<em>This is italic.</em>" + (italic/render "_This is italic._" nil nil)))) + + (testing "Creating italic text with both underscores and asterisks mixed" + (is (= "Hi, my name is <em>John</em>, what is <em>your name?</em>" + (italic/render "Hi, my name is *John*, what is _your name?_" nil nil)))))
\ No newline at end of file diff --git a/test/clarktown/renderers/link_and_image_test.clj b/test/clarktown/renderers/link_and_image_test.clj new file mode 100644 index 0000000..d17e070 --- /dev/null +++ b/test/clarktown/renderers/link_and_image_test.clj @@ -0,0 +1,23 @@ +(ns clarktown.renderers.link-and-image-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.renderers.link-and-image :as link-and-image])) + + +(deftest link-renderer-test + (testing "Creating a link" + (is (= (link-and-image/render "[This is a link](https://example.com)" nil nil) + "<a href=\"https://example.com\">This is a link</a>")) + + (is (= (link-and-image/render "[This-is-a-link](https://example.com)" nil nil) + "<a href=\"https://example.com\">This-is-a-link</a>")) + + (is (= (link-and-image/render "[x] [label](link)" nil nil) + "[x] <a href=\"link\">label</a>")) + + (is (= (link-and-image/render "[ ] [label](link)" nil nil) + "[ ] <a href=\"link\">label</a>"))) + + (testing "Creating an image" + (is (= (link-and-image/render "" nil nil) + "<img src=\"https://example.com\" alt=\"This is an image\">"))))
\ No newline at end of file diff --git a/test/clarktown/renderers/quote_block_test.clj b/test/clarktown/renderers/quote_block_test.clj new file mode 100644 index 0000000..1065a85 --- /dev/null +++ b/test/clarktown/renderers/quote_block_test.clj @@ -0,0 +1,10 @@ +(ns clarktown.renderers.quote-block-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.renderers.quote-block :as quote-block])) + + +(deftest quote-block-block-renderer-test + (testing "Creating a quote block line" + (is (= (quote-block/render "> First line\n> second line" nil nil) + "<blockquote>First line\nsecond line</blockquote>"))))
\ No newline at end of file diff --git a/test/clarktown/renderers/strikethrough_test.clj b/test/clarktown/renderers/strikethrough_test.clj new file mode 100644 index 0000000..cf08fc9 --- /dev/null +++ b/test/clarktown/renderers/strikethrough_test.clj @@ -0,0 +1,14 @@ +(ns clarktown.renderers.strikethrough-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.renderers.strikethrough :as strikethrough])) + + +(deftest strikethrough-renderer-test + (testing "Creating strikethrough text" + (is (= (strikethrough/render "~~This is strikethrough text.~~" nil nil) + "<del>This is strikethrough text.</del>"))) + + (testing "Creating strikethrough text mixed with regular text" + (is (= (strikethrough/render "Some other text, ~~This is strikethrough text.~~ And more text." nil nil) + "Some other text, <del>This is strikethrough text.</del> And more text."))))
\ No newline at end of file |
