File tree Expand file tree Collapse file tree
Clojure.Tests/clojure/test_clojure Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -41,11 +41,11 @@ the sorting function."}
4141 {:added " 1.1" }
4242 [inner outer form]
4343 (cond
44- (list? form) (outer (apply list (map inner form)))
44+ (list? form) (outer (with-meta ( apply list (map inner form)) ( meta form)))
4545 (instance? clojure.lang.IMapEntry form)
4646 (outer (clojure.lang.MapEntry/create (inner (key form)) (inner (val form))))
4747 (instance? System.Collections.DictionaryEntry form) (outer [(inner (.Key ^System.Collections.DictionaryEntry form)) (inner (.Value ^System.Collections.DictionaryEntry form))])
48- (seq? form) (outer (doall (map inner form)))
48+ (seq? form) (outer (with-meta ( doall (map inner form)) ( meta form)))
4949 (instance? clojure.lang.IRecord form)
5050 (outer (reduce (fn [r x] (conj r (inner x))) form form))
5151 (coll? form) (outer (into (empty form) (map inner form)))
Original file line number Diff line number Diff line change 6262 " Checks that walk preserves the MapEntry type. See CLJ-2031."
6363 (let [coll [:html {:a [" b" 1 ]} " " ]
6464 f (fn [e] (if (and (vector? e) (not (map-entry? e))) (apply list e) e))]
65- (is (= (list :html {:a (list " b" 1 )} " " ) (w/postwalk f coll)))))
65+ (is (= (list :html {:a (list " b" 1 )} " " ) (w/postwalk f coll)))))
66+
67+
68+ (defrecord RM [a])
69+ (deftest retain-meta
70+ (let [m {:foo true }]
71+ (are [o] (= m (meta (w/postwalk identity (with-meta o m))))
72+ '(1 2 )
73+ [1 2 ]
74+ #{1 2 }
75+ {1 2 }
76+ (map inc (range 3 ))
77+ (->RM 1 ))))
You can’t perform that action at this time.
0 commit comments