File tree Expand file tree Collapse file tree 2 files changed +8
-5
lines changed Expand file tree Collapse file tree 2 files changed +8
-5
lines changed Original file line number Diff line number Diff line change 3063
3063
3064
3064
(== cnt 1 )
3065
3065
(let [[_ & {:keys [only rename] :as parsed-spec}] (first xs)
3066
- err-str " Only (:refer-global :only [names]) and optionally `:rename {from to}` specs supported" ]
3066
+ only-set (set only)
3067
+ err-str " Only (:refer-global :only [names]) and optionally `:rename {from to}` specs supported.
3068
+ :rename symbols must be present in :only" ]
3067
3069
(when-not (or (empty? only)
3068
3070
(and (vector? only)
3069
3071
(every? symbol only)))
3070
3072
(throw (error env err-str)))
3071
3073
(when-not (or (empty? rename)
3072
3074
(and (map? rename)
3073
- (every? symbol (mapcat identity rename))))
3075
+ (every? symbol (mapcat identity rename))
3076
+ (every? only-set (keys rename))))
3074
3077
(throw (error env (str err-str (pr-str parsed-spec)))))
3075
3078
(when-not (every? #{:only :rename } (keys parsed-spec))
3076
3079
(throw (error env (str err-str (pr-str parsed-spec)))))
Original file line number Diff line number Diff line change 389
389
390
390
(deftest test-parse-global-refer
391
391
(let [parsed (ana/parse-global-refer-spec {}
392
- '((:refer-global :only [Date] :rename {Symbol JSSymbol})))]
392
+ '((:refer-global :only [Date Symbol ] :rename {Symbol JSSymbol})))]
393
393
(is (= parsed
394
- '{:use {Date js}
394
+ '{:use {Date js Symbol js }
395
395
:rename {JSSymbol js/Symbol}}))))
396
396
397
397
(deftest test-cljs-1785-js-shadowed-by-local
1564
1564
1565
1565
(clojure.test/test-vars [#'test-refer-global])
1566
1566
1567
- )
1567
+ )
You can’t perform that action at this time.
0 commit comments