added schema & use separated resolver & includer component.

This commit is contained in:
jem 2018-05-16 18:41:54 +02:00
parent 464e9af7d6
commit 9607657cc1
5 changed files with 89 additions and 11 deletions

View file

@ -1,16 +1,32 @@
(ns smeagol.test.include
(:require [clojure.test :refer :all]
[schema.core :as s]
[com.stuartsierra.component :as component]
[smeagol.include.resolver :as resolver]
[smeagol.include :as sut]))
(defn test-include-resolver [uri]
(s/defmethod resolver/do-resolve-md :test-mock
[resolver
uri :- s/Str]
(cond
(= uri "./simple.md") "Simple content."))
(def system-under-test
(component/system-map
:resolver (sut/new-resolver test-include-resolver)))
:resolver (resolver/new-resolver :test-mock)
:includer (component/using
(sut/new-includer)
{:resolver :resolver})))
(deftest test-local-links
(deftest test-expand-include-md
(testing "Rewriting of local links"
(is (= "Simple content." (sut/resolve-include (:resolver system-under-test) "./simple.md")))))
(is
(= "# Heading"
(sut/expand-include-md (:includer system-under-test) "# Heading")))
(is
(= "# Heading 1
Simple content."
(sut/expand-include-md
(:includer system-under-test)
"# Heading1
#[](.simple.md)")))))

View file

@ -0,0 +1,8 @@
(ns smeagol.test.include.resolver
(:require [clojure.test :refer :all]
[smeagol.include.resolver :as sut]))
(deftest test-local-links
(testing "Rewriting of local links"
(is (thrown? Exception
(sut/resolve-md (sut/new-resolver (:default)) "./some-uri.md")))))