diff options
Diffstat (limited to 'test')
18 files changed, 182 insertions, 98 deletions
diff --git a/test/clarktown/correctors/atx_heading_block_test.clj b/test/clarktown/correctors/atx_heading_block_test.clj new file mode 100644 index 0000000..3ece304 --- /dev/null +++ b/test/clarktown/correctors/atx_heading_block_test.clj @@ -0,0 +1,30 @@ +(ns clarktown.correctors.atx-heading-block-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.correctors.atx-heading-block :as corrector])) + + +(deftest atx-heading-block-corrector + (testing "Empty line above" + (let [line "# Hello" + lines ["Some text goes here" line] + index 1] + (is (true? (corrector/empty-line-above? lines line index))))) + + (testing "No empty line above" + (let [line "# Hello" + lines ["Some text goes here" "\n" line] + index 2] + (is (false? (corrector/empty-line-above? lines line index))))) + + (testing "Empty line below" + (let [line "# Hello" + lines [line "Some text goes here"] + index 0] + (is (true? (corrector/empty-line-below? lines line index))))) + + (testing "No empty line below" + (let [line "# Hello" + lines [line "\n" "Some text goes here"] + index 0] + (is (false? (corrector/empty-line-below? lines line index)))))) diff --git a/test/clarktown/correctors/code_block_test.clj b/test/clarktown/correctors/code_block_test.clj new file mode 100644 index 0000000..16711da --- /dev/null +++ b/test/clarktown/correctors/code_block_test.clj @@ -0,0 +1,37 @@ +(ns clarktown.correctors.code-block-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.correctors.code-block :as corrector])) + + +(deftest code-block-corrector + (testing "Empty line above" + (let [line "```clojure" + lines ["Some text goes here" line "some code here" "```"] + index 1] + (is (true? (corrector/empty-line-above? lines line index))))) + + (testing "No empty line above" + (let [line "```" + lines ["Some text goes here" "\n" line "some code" "```"] + index 2] + (is (false? (corrector/empty-line-above? lines line index))))) + + (testing "Empty line below" + (let [line "```" + lines ["Some text goes here" line "some code" line "some text"] + index 3] + (is (true? (corrector/empty-line-below? lines line index))))) + + (testing "No empty line below" + (let [line "```" + lines ["Some text goes here" line "some code" line "\n" "some text"] + index 3] + (is (false? (corrector/empty-line-below? lines line index))))) + + (testing "No empty line below when ending with code block" + (let [line "```" + lines ["Some text goes here" line "some code" line] + index 3] + (is (false? (corrector/empty-line-below? lines line index)))))) + diff --git a/test/clarktown/matchers/empty_block_test.clj b/test/clarktown/matchers/empty_block_test.clj new file mode 100644 index 0000000..8fe83e4 --- /dev/null +++ b/test/clarktown/matchers/empty_block_test.clj @@ -0,0 +1,9 @@ +(ns clarktown.matchers.empty-block-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.matchers.empty-block :as empty-block])) + +(deftest empty-block-matcher-test + (testing "Checking an empty block" + (is (true? (empty-block/match? ""))) + (is (true? (empty-block/match? " ")))))
\ No newline at end of file diff --git a/test/clarktown/matchers/horizontal_line_block_test.clj b/test/clarktown/matchers/horizontal_line_block_test.clj new file mode 100644 index 0000000..c3402d2 --- /dev/null +++ b/test/clarktown/matchers/horizontal_line_block_test.clj @@ -0,0 +1,14 @@ +(ns clarktown.matchers.horizontal-line-block-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.matchers.horizontal-line-block :as horizontal-line-block])) + + +(deftest horizontal-line-block-matcher-test + (testing "Is a horizontal line block" + (is (true? (horizontal-line-block/match? "***"))) + (is (true? (horizontal-line-block/match? " ***"))) + (is (false? (horizontal-line-block/match? "Test *** 123"))) + (is (true? (horizontal-line-block/match? "---"))) + (is (true? (horizontal-line-block/match? " ---"))) + (is (false? (horizontal-line-block/match? "Test --- 123")))))
\ No newline at end of file diff --git a/test/clarktown/matchers/quote_block_test.clj b/test/clarktown/matchers/quote_block_test.clj new file mode 100644 index 0000000..05288d6 --- /dev/null +++ b/test/clarktown/matchers/quote_block_test.clj @@ -0,0 +1,11 @@ +(ns clarktown.matchers.quote-block-test + (:require + [clojure.test :refer [deftest testing is]] + [clarktown.matchers.quote-block :as quote-block])) + + +(deftest quote-block-block-matcher-test + (testing "Checking a quote block" + (is (true? (quote-block/match? "> Test"))) + (is (true? (quote-block/match? " > Test"))) + (is (true? (quote-block/match? ">")))))
\ No newline at end of file diff --git a/test/clarktown/parsers/empty_block_test.clj b/test/clarktown/parsers/empty_block_test.clj deleted file mode 100644 index a8d89c4..0000000 --- a/test/clarktown/parsers/empty_block_test.clj +++ /dev/null @@ -1,14 +0,0 @@ -(ns clarktown.parsers.empty-block-test - (:require - [clojure.test :refer [deftest testing is]] - [clarktown.parsers.empty-block :as empty-block])) - - -(deftest empty-block-test - (testing "Rendering an empty block" - (is (= (empty-block/render "" nil) - ""))) - - (testing "Checking an empty block" - (is (true? (empty-block/is? ""))) - (is (true? (empty-block/is? " "))))) diff --git a/test/clarktown/parsers/horizontal_line_block_test.clj b/test/clarktown/parsers/horizontal_line_block_test.clj deleted file mode 100644 index 21617b6..0000000 --- a/test/clarktown/parsers/horizontal_line_block_test.clj +++ /dev/null @@ -1,21 +0,0 @@ -(ns clarktown.parsers.horizontal-line-block-test - (:require - [clojure.test :refer [deftest testing is]] - [clarktown.parsers.horizontal-line-block :as horizontal-line-block])) - - -(deftest horizontal-line-block-test - (testing "Creating a horizontal line" - (is (= "<hr>" - (horizontal-line-block/render "***" nil))) - - (is (= "<hr>" - (horizontal-line-block/render "---" nil)))) - - (testing "Is a horizontal line block" - (is (true? (horizontal-line-block/is? "***"))) - (is (true? (horizontal-line-block/is? " ***"))) - (is (false? (horizontal-line-block/is? "Test *** 123"))) - (is (true? (horizontal-line-block/is? "---"))) - (is (true? (horizontal-line-block/is? " ---"))) - (is (false? (horizontal-line-block/is? "Test --- 123")))))
\ No newline at end of file diff --git a/test/clarktown/parsers/quote_block_test.clj b/test/clarktown/parsers/quote_block_test.clj deleted file mode 100644 index 94553cf..0000000 --- a/test/clarktown/parsers/quote_block_test.clj +++ /dev/null @@ -1,15 +0,0 @@ -(ns clarktown.parsers.quote-block-test - (:require - [clojure.test :refer [deftest testing is]] - [clarktown.parsers.quote-block :as quote-block])) - - -(deftest quote-block-block-test - (testing "Creating a quote block line" - (is (= (quote-block/render "> First line\n> second line" nil) - "<blockquote>First line\nsecond line</blockquote>"))) - - (testing "Checking a quote block" - (is (true? (quote-block/is? "> Test"))) - (is (true? (quote-block/is? " > Test"))) - (is (true? (quote-block/is? ">")))))
\ No newline at end of file diff --git a/test/clarktown/parsers/bold_test.clj b/test/clarktown/renderers/bold_test.clj index a082d41..28d9da8 100644 --- a/test/clarktown/parsers/bold_test.clj +++ b/test/clarktown/renderers/bold_test.clj @@ -1,18 +1,18 @@ -(ns clarktown.parsers.bold-test +(ns clarktown.renderers.bold-test (:require [clojure.test :refer [deftest testing is]] - [clarktown.parsers.bold :as bold])) + [clarktown.renderers.bold :as bold])) -(deftest bold-test +(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)))) + (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)))) + (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)))))
\ No newline at end of file + (bold/render "Hi, my name is **John**, what is __your name?__" nil nil)))))
\ No newline at end of file diff --git a/test/clarktown/parsers/code_block_test.clj b/test/clarktown/renderers/code_block_test.clj index 8b1113d..c5779be 100644 --- a/test/clarktown/parsers/code_block_test.clj +++ b/test/clarktown/renderers/code_block_test.clj @@ -1,15 +1,15 @@ -(ns clarktown.parsers.code-block-test +(ns clarktown.renderers.code-block-test (:require [clojure.test :refer [deftest testing is]] [clojure.java.io :as io] - [clarktown.parsers.code-block :as code-block])) + [clarktown.renderers.code-block :as code-block])) -(deftest code-block-test +(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)))) + (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)))))
\ No newline at end of file + (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/parsers/heading_block_test.clj b/test/clarktown/renderers/heading_block_test.clj index 9bfff4f..2196422 100644 --- a/test/clarktown/parsers/heading_block_test.clj +++ b/test/clarktown/renderers/heading_block_test.clj @@ -1,44 +1,44 @@ -(ns clarktown.parsers.heading-block-test +(ns clarktown.renderers.heading-block-test (:require [clojure.test :refer [deftest testing is]] - [clarktown.parsers.heading-block :as heading-block])) + [clarktown.renderers.heading-block :as heading-block])) -(deftest hashbang-heading-test +(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)))) + (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)))) + (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)))) + (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)))) + (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))))) + (heading-block/render "##### This is a heading block." nil nil))))) -(deftest settext-heading-text +(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)))) + (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)))) + (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)))) + (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)))))
\ No newline at end of file + (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/parsers/inline_code_test.clj b/test/clarktown/renderers/inline_code_test.clj index 028c4b7..b1b277e 100644 --- a/test/clarktown/parsers/inline_code_test.clj +++ b/test/clarktown/renderers/inline_code_test.clj @@ -1,14 +1,14 @@ -(ns clarktown.parsers.inline-code-test +(ns clarktown.renderers.inline-code-test (:require [clojure.test :refer [deftest testing is]] - [clarktown.parsers.inline-code :as inline-code])) + [clarktown.renderers.inline-code :as inline-code])) -(deftest inline-code-test +(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)))) + (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)))))
\ No newline at end of file + (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/parsers/italic_test.clj b/test/clarktown/renderers/italic_test.clj index 8ab1369..e85ee36 100644 --- a/test/clarktown/parsers/italic_test.clj +++ b/test/clarktown/renderers/italic_test.clj @@ -1,18 +1,18 @@ -(ns clarktown.parsers.italic-test +(ns clarktown.renderers.italic-test (:require [clojure.test :refer [deftest testing is]] - [clarktown.parsers.italic :as italic])) + [clarktown.renderers.italic :as italic])) -(deftest italic-test +(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)))) + (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)))) + (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)))))
\ No newline at end of file + (italic/render "Hi, my name is *John*, what is _your name?_" nil nil)))))
\ No newline at end of file diff --git a/test/clarktown/parsers/link_and_image_test.clj b/test/clarktown/renderers/link_and_image_test.clj index 348a8f9..d17e070 100644 --- a/test/clarktown/parsers/link_and_image_test.clj +++ b/test/clarktown/renderers/link_and_image_test.clj @@ -1,23 +1,23 @@ -(ns clarktown.parsers.link-and-image-test +(ns clarktown.renderers.link-and-image-test (:require [clojure.test :refer [deftest testing is]] - [clarktown.parsers.link-and-image :as link-and-image])) + [clarktown.renderers.link-and-image :as link-and-image])) -(deftest link-test +(deftest link-renderer-test (testing "Creating a link" - (is (= (link-and-image/render "[This is a link](https://example.com)" nil) + (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) + (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) + (is (= (link-and-image/render "[x] [label](link)" nil nil) "[x] <a href=\"link\">label</a>")) - (is (= (link-and-image/render "[ ] [label](link)" nil) + (is (= (link-and-image/render "[ ] [label](link)" nil nil) "[ ] <a href=\"link\">label</a>"))) (testing "Creating an image" - (is (= (link-and-image/render "" nil) + (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/parsers/strikethrough_test.clj b/test/clarktown/renderers/strikethrough_test.clj index fdf6188..cf08fc9 100644 --- a/test/clarktown/parsers/strikethrough_test.clj +++ b/test/clarktown/renderers/strikethrough_test.clj @@ -1,14 +1,14 @@ -(ns clarktown.parsers.strikethrough-test +(ns clarktown.renderers.strikethrough-test (:require [clojure.test :refer [deftest testing is]] - [clarktown.parsers.strikethrough :as strikethrough])) + [clarktown.renderers.strikethrough :as strikethrough])) -(deftest strikethrough-test +(deftest strikethrough-renderer-test (testing "Creating strikethrough text" - (is (= (strikethrough/render "~~This is strikethrough text.~~" nil) + (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) + (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 |
