Skip to content

Commit c5c94f0

Browse files
author
Yannick Scherer
committed
[#57] add test for merging multiple metadata forms.
1 parent 3103ff9 commit c5c94f0

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

test/rewrite_clj/parser_test.clj

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,31 @@
180180
"#^:private" :meta* :token
181181
"#^{:private true}" :meta* :map)
182182

183+
(tabular
184+
(fact "about parsing multiple metadata forms"
185+
(let [s (str ?s " s")
186+
n (p/parse-string s)
187+
[mta ws n'] (node/children n)
188+
[mta2 ws2 sym] (node/children n')]
189+
;; outer meta
190+
(node/tag n) => ?t
191+
(node/string n) => s
192+
(node/sexpr n) => 's
193+
(meta (node/sexpr n)) => {:private true :awe true}
194+
(node/tag mta) => ?mt
195+
(node/tag ws) => :whitespace
196+
197+
;; inner meta
198+
(node/tag n') => ?t
199+
(meta (node/sexpr n')) => {:awe true}
200+
(node/tag mta2) => ?mt
201+
(node/tag ws2) => :whitespace))
202+
?s ?t ?mt
203+
"^:private ^:awe" :meta :token
204+
"^{:private true} ^{:awe true}" :meta :map
205+
"#^:private #^:awe" :meta* :token
206+
"#^{:private true} #^{:awe true}" :meta* :map)
207+
183208
(tabular
184209
(fact "about parsing reader macros"
185210
(let [n (p/parse-string ?s)]

0 commit comments

Comments
 (0)