(ns clarktown.parsers.heading-block-test
(:require
[clojure.test :refer [deftest testing is]]
[clarktown.parsers.heading-block :as heading-block]))
(deftest hashbang-heading-test
(testing "Hashbang heading block that's a H1"
(is (= "
This is a heading block.
"
(heading-block/render "# This is a heading block." nil))))
(testing "Hashbang heading block that's a H2"
(is (= "This is a heading block.
"
(heading-block/render "## This is a heading block." nil))))
(testing "Hashbang heading block that's a H3"
(is (= "This is a heading block.
"
(heading-block/render "### This is a heading block." nil))))
(testing "Hashbang heading block that's a H4"
(is (= "This is a heading block.
"
(heading-block/render "#### This is a heading block." nil))))
(testing "Hashbang heading block that's a H5"
(is (= "This is a heading block.
"
(heading-block/render "##### This is a heading block." nil)))))
(deftest settext-heading-text
(testing "Settext heading block that's a H1"
(is (= "This is a heading block.
"
(heading-block/render "This is a heading block.\n=========" nil))))
(testing "Settext heading block that's a H1 spanning multiple lines"
(is (= "This is a \nheading block spanning multiple lines.
"
(heading-block/render "This is a \nheading block spanning multiple lines.\n========" nil))))
(testing "Settext heading block that's a H2"
(is (= "This is a heading block.
"
(heading-block/render "This is a heading block.\n---------" nil))))
(testing "Settext heading block that's a H2 spanning multiple lines"
(is (= "This is a \nheading block spanning multiple lines.
"
(heading-block/render "This is a \nheading block spanning multiple lines.\n--------" nil)))))