summaryrefslogtreecommitdiff
path: root/test/dompa/nodes_test.cljc
diff options
context:
space:
mode:
authorAsko Nõmm <asko@nmm.ee>2025-10-26 11:22:46 +0200
committerAsko Nõmm <asko@nmm.ee>2025-10-26 11:22:46 +0200
commitbb8a17fa2517324ac6cd0ce498dcc189a2d8fb2c (patch)
tree8657b4ae5e6e5e8471f29deda2949e6f62e202ec /test/dompa/nodes_test.cljc
parenta2e703f10554f3aa99487b53de4e5e6a5d6ebddd (diff)
#9: Implement zipper support
Diffstat (limited to 'test/dompa/nodes_test.cljc')
-rw-r--r--test/dompa/nodes_test.cljc29
1 files changed, 22 insertions, 7 deletions
diff --git a/test/dompa/nodes_test.cljc b/test/dompa/nodes_test.cljc
index 2606be6..ca8d483 100644
--- a/test/dompa/nodes_test.cljc
+++ b/test/dompa/nodes_test.cljc
@@ -1,9 +1,12 @@
(ns dompa.nodes-test
- #?(:clj (:require [clojure.test :refer [deftest is testing]]
- [dompa.nodes :refer [$ defhtml traverse ->html]]
- [dompa.html :as html]))
+ #?(:clj (:require
+ [clojure.test :refer [deftest is testing]]
+ [clojure.zip :as zip]
+ [dompa.html :as html]
+ [dompa.nodes :as nodes :refer [$ defhtml]]))
#?(:cljs (:require [cljs.test :refer-macros [deftest testing is]]
- [dompa.nodes :refer [$ traverse ->html] :refer-macros [defhtml]]
+ [clojure.zip :as zip]
+ [dompa.nodes :as nodes :refer [$] :refer-macros [defhtml]]
[dompa.html :as html])))
(defhtml hello [who]
@@ -18,7 +21,7 @@
($ :ul
(->> items
(map (fn [item]
- ($ :li ($ item))))
+ ($ :li ($ item))))
(into []))))
(deftest list-items-test
@@ -53,5 +56,17 @@
node))]
(is (= "<div>world hello</div>"
(-> (html/->nodes "<div>hello world</div>")
- (traverse traverser-fn)
- ->html)))))
+ (nodes/traverse traverser-fn)
+ nodes/->html)))))
+
+(deftest zip-test
+ (let [nodes (html/->nodes "<div><p>hello</p><p>world</p></div>")
+ zipper (nodes/zip (first nodes))]
+ (is (= :div
+ (:node/name (zip/node zipper))))
+ (is (= "hello"
+ (-> zipper
+ zip/down
+ zip/down
+ zip/node
+ :node/value))))) \ No newline at end of file