summaryrefslogtreecommitdiff
path: root/test/dompa
diff options
context:
space:
mode:
authorAsko Nõmm <asko@repl.ee>2025-10-26 11:38:28 +0200
committerGitHub <noreply@github.com>2025-10-26 11:38:28 +0200
commita30919848d19168b4010f37d29c0a42a2c9f8f77 (patch)
treee1be8dfb423488d6f1846d5890dd5cef59333ca5 /test/dompa
parent1ea91841b1a1a2d8e0b75750b5d765278ee78782 (diff)
parenta0a150d89d30af3ca4d586fc7874d70778b51e73 (diff)
Merge pull request #10 from askonomm/9-investigate-making-traverse-impl-be-zipper-basedv1.1.0
9 investigate making traverse impl be zipper based
Diffstat (limited to 'test/dompa')
-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