summaryrefslogtreecommitdiff
path: root/test/clarktown
diff options
context:
space:
mode:
authorAsko Nõmm <84135165+askonomm@users.noreply.github.com>2022-04-23 02:43:49 +0300
committerGitHub <noreply@github.com>2022-04-23 02:43:49 +0300
commit70d88384ea788f7b2ad5ebb725762f7d27300504 (patch)
treeb371f12617949daf2b40538ba9a2e4457b657d0f /test/clarktown
parent059bfa7bd9bfdde0c75646bf1dfc20d23da8a02c (diff)
parentdc921cbe1c786995a8670efd9f5556ee9df064f9 (diff)
Merge pull request #17 from askonomm/16-improve-architecture
Improve architecture
Diffstat (limited to 'test/clarktown')
-rw-r--r--test/clarktown/correctors/atx_heading_block_test.clj30
-rw-r--r--test/clarktown/correctors/code_block_test.clj37
-rw-r--r--test/clarktown/matchers/empty_block_test.clj9
-rw-r--r--test/clarktown/matchers/horizontal_line_block_test.clj14
-rw-r--r--test/clarktown/matchers/quote_block_test.clj11
-rw-r--r--test/clarktown/parsers/empty_block_test.clj14
-rw-r--r--test/clarktown/parsers/horizontal_line_block_test.clj21
-rw-r--r--test/clarktown/parsers/quote_block_test.clj15
-rw-r--r--test/clarktown/renderers/bold_test.clj (renamed from test/clarktown/parsers/bold_test.clj)12
-rw-r--r--test/clarktown/renderers/code_block_test.clj (renamed from test/clarktown/parsers/code_block_test.clj)10
-rw-r--r--test/clarktown/renderers/empty_block_test.clj10
-rw-r--r--test/clarktown/renderers/heading_block_test.clj (renamed from test/clarktown/parsers/heading_block_test.clj)26
-rw-r--r--test/clarktown/renderers/horizontal_line_block_test.clj13
-rw-r--r--test/clarktown/renderers/inline_code_test.clj (renamed from test/clarktown/parsers/inline_code_test.clj)10
-rw-r--r--test/clarktown/renderers/italic_test.clj (renamed from test/clarktown/parsers/italic_test.clj)12
-rw-r--r--test/clarktown/renderers/link_and_image_test.clj (renamed from test/clarktown/parsers/link_and_image_test.clj)16
-rw-r--r--test/clarktown/renderers/quote_block_test.clj10
-rw-r--r--test/clarktown/renderers/strikethrough_test.clj (renamed from test/clarktown/parsers/strikethrough_test.clj)10
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 "![This is an image](https://example.com)" nil)
+ (is (= (link-and-image/render "![This is an image](https://example.com)" 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