diff options
Diffstat (limited to 'test/dompa')
| -rw-r--r-- | test/dompa/html_test.cljc | 17 | ||||
| -rw-r--r-- | test/dompa/nodes_test.cljc | 23 |
2 files changed, 37 insertions, 3 deletions
diff --git a/test/dompa/html_test.cljc b/test/dompa/html_test.cljc index ab2fafd..8565fdc 100644 --- a/test/dompa/html_test.cljc +++ b/test/dompa/html_test.cljc @@ -1,2 +1,17 @@ (ns dompa.html-test - (:require [clojure.test :refer [deftest is testing]])) + (:require [clojure.test :refer [deftest is testing]] + [dompa.html :as html])) + +(deftest coordinates-test + (testing "HTML to coordinates" + (is (= [[0 15] + [5 9]] + (html/->coordinates "<div>hello</div>"))))) + +(deftest nodes-test + (testing "HTML to nodes" + (is (= [{:node/name :div + :node/attrs {} + :node/children [{:node/name :dompa/text + :node/value "hello"}]}] + (html/->nodes "<div>hello</div>"))))) diff --git a/test/dompa/nodes_test.cljc b/test/dompa/nodes_test.cljc index a95593d..1eba4ff 100644 --- a/test/dompa/nodes_test.cljc +++ b/test/dompa/nodes_test.cljc @@ -1,8 +1,17 @@ (ns dompa.nodes-test (:require [clojure.test :refer [deftest is testing]] - [dompa.nodes :refer [$]])) + [dompa.nodes :refer [$ defhtml traverse ->html]] + [dompa.html :as html])) -(deftest node-composition-macro-test +(defhtml hello [who] + ($ :div + ($ "hello " who))) + +(deftest defhtml-test + (is (= "<div>hello world</div>" + (hello "world")))) + +(deftest $-test (testing "a simple node" (is (= {:node/name :div :node/children [{:node/name :dompa/text @@ -22,3 +31,13 @@ ($ "hello")) ($ :span ($ "world"))))))) + +(deftest traverse-test + (let [traverser-fn (fn [node] + (if (= :dompa/text (:node/name node)) + (assoc node :node/value "world hello") + node))] + (is (= "<div>world hello</div>" + (-> (html/->nodes "<div>hello world</div>") + (traverse traverser-fn) + ->html)))))
\ No newline at end of file |
