Skip to content

Commit 6c4c6ea

Browse files
authored
test: refactor are->doseq (#281)
When studying some metadata tests I converted them from `are` to `doseq`. A personal pref that I find easier to maintain and grok and that I'll move to for any tests I study/touch. Was studying tests for #279 and #280
1 parent 7d176f9 commit 6c4c6ea

File tree

1 file changed

+40
-40
lines changed

1 file changed

+40
-40
lines changed

test/rewrite_clj/parser_test.cljc

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -227,48 +227,48 @@
227227
"{:r 1 :u}" :map))
228228

229229
(deftest t-parsing-metadata
230-
(are [?s ?t ?mt]
231-
(let [s (str ?s " s")
232-
n (p/parse-string s)
233-
[mta ws sym] (node/children n)]
234-
(is (= ?t (node/tag n)))
235-
(is (= s (node/string n)))
236-
(is (= 's (node/sexpr n)))
237-
(is (= {:private true} (meta (node/sexpr n))))
238-
(is (= ?mt (node/tag mta)))
239-
(is (= :whitespace (node/tag ws)))
240-
(is (= :token (node/tag sym)))
241-
(is (= 's (node/sexpr sym))))
242-
"^:private" :meta :token
243-
"^{:private true}" :meta :map
244-
"#^:private" :meta* :token
245-
"#^{:private true}" :meta* :map))
230+
(doseq [[meta-str expected-tag expected-meta-child-tag]
231+
[["^:private" :meta :token]
232+
["^{:private true}" :meta :map]
233+
["#^:private" :meta* :token]
234+
["#^{:private true}" :meta* :map]]
235+
:let [s (str meta-str " s")
236+
n (p/parse-string s)
237+
[meta-data ws target-sym] (node/children n)]]
238+
(is (= expected-tag (node/tag n)))
239+
(is (= s (node/string n)))
240+
(is (= 's (node/sexpr n)))
241+
(is (= {:private true} (meta (node/sexpr n))))
242+
(is (= expected-meta-child-tag (node/tag meta-data)))
243+
(is (= :whitespace (node/tag ws)))
244+
(is (= :token (node/tag target-sym)))
245+
(is (= 's (node/sexpr target-sym)))))
246246

247247
(deftest t-parsing-multiple-metadata-forms
248-
(are [?s ?expected-meta-tag ?expected-tag-on-metadata]
249-
(let [s (str ?s " s")
250-
n (p/parse-string s)
251-
[mdata ws inner-n] (node/children n)
252-
[inner-mdata inner-ws sym] (node/children inner-n)]
253-
;; outer meta
254-
(is (= ?expected-meta-tag (node/tag n)))
255-
(is (= {:private true :awe true} (meta (node/sexpr n))))
256-
(is (= ?expected-tag-on-metadata (node/tag mdata)))
257-
(is (= :whitespace (node/tag ws)))
258-
259-
;; inner meta
260-
(is (= ?expected-meta-tag (node/tag inner-n)))
261-
(is (= {:awe true} (meta (node/sexpr inner-n))))
262-
(is (= ?expected-tag-on-metadata (node/tag inner-mdata)))
263-
(is (= :whitespace (node/tag inner-ws)))
264-
265-
;; symbol
266-
(is (= s (node/string n)))
267-
(is (= 's (node/sexpr sym))))
268-
"^:private ^:awe" :meta :token
269-
"^{:private true} ^{:awe true}" :meta :map
270-
"#^:private #^:awe" :meta* :token
271-
"#^{:private true} #^{:awe true}" :meta* :map))
248+
(doseq [[meta-str expected-meta-tag expected-tag-on-metadata]
249+
[["^:private ^:awe" :meta :token]
250+
["^{:private true} ^{:awe true}" :meta :map]
251+
["#^:private #^:awe" :meta* :token]
252+
["#^{:private true} #^{:awe true}" :meta* :map]]
253+
:let [s (str meta-str " s")
254+
n (p/parse-string s)
255+
[meta-data ws inner-node] (node/children n)
256+
[inner-meta-data inner-ws target-sym] (node/children inner-node)]]
257+
;; outer metadata
258+
(is (= expected-meta-tag (node/tag n)))
259+
(is (= {:private true :awe true} (meta (node/sexpr n))))
260+
(is (= expected-tag-on-metadata (node/tag meta-data)))
261+
(is (= :whitespace (node/tag ws)))
262+
263+
;; inner metadata
264+
(is (= expected-meta-tag (node/tag inner-node)))
265+
(is (= {:awe true} (meta (node/sexpr inner-node))))
266+
(is (= expected-tag-on-metadata (node/tag inner-meta-data)))
267+
(is (= :whitespace (node/tag inner-ws)))
268+
269+
;; target symbol
270+
(is (= s (node/string n)))
271+
(is (= 's (node/sexpr target-sym)))))
272272

273273
(deftest t-parsing-reader-macros
274274
(are [?s ?t ?children]

0 commit comments

Comments
 (0)