add test for recursive navigation with params
This commit is contained in:
parent
8dd2cb8939
commit
c259583e81
1 changed files with 17 additions and 0 deletions
|
|
@ -614,6 +614,23 @@
|
||||||
))
|
))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
(declarepath map-key-walker [akey])
|
||||||
|
|
||||||
|
(providepath map-key-walker
|
||||||
|
[s/ALL
|
||||||
|
(s/if-path [s/FIRST (paramsfn [akey] [curr] (= curr akey))]
|
||||||
|
s/LAST
|
||||||
|
[s/LAST (s/params-reset map-key-walker)])])
|
||||||
|
|
||||||
|
(deftest recursive-params-path-test
|
||||||
|
(is (= #{1 2 3} (set (s/select (map-key-walker :aaa)
|
||||||
|
{:a {:aaa 3 :b {:c {:aaa 2} :aaa 1}}}))))
|
||||||
|
(is (= {:a {:aaa 4 :b {:c {:aaa 3} :aaa 2}}}
|
||||||
|
(s/transform (map-key-walker :aaa) inc
|
||||||
|
{:a {:aaa 3 :b {:c {:aaa 2} :aaa 1}}})))
|
||||||
|
(is (= {:a {:c {:b "X"}}})
|
||||||
|
(s/setval (map-key-walker :b) "X" {:a {:c {:b {:d 1}}}}))
|
||||||
|
)
|
||||||
|
|
||||||
(deftest all-map-test
|
(deftest all-map-test
|
||||||
(is (= {3 3} (s/transform [s/ALL s/FIRST] inc {2 3})))
|
(is (= {3 3} (s/transform [s/ALL s/FIRST] inc {2 3})))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue