diff options
| author | Asko Nõmm <asko@nmm.ee> | 2025-10-04 17:03:22 +0300 |
|---|---|---|
| committer | Asko Nõmm <asko@nmm.ee> | 2025-10-04 17:03:22 +0300 |
| commit | 3037fdb5c30c7dbbaa7122798ac6328dc43df4ad (patch) | |
| tree | 20fe4f71538b5397d1d6aa52505998c59ab0be34 /test/dompa | |
| parent | c8044362b85584f058ffe953a9e6a3087f84a34e (diff) | |
Improve test coverage
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 |
