diff --git a/src/iced/nrepl/namespace.clj b/src/iced/nrepl/namespace.clj index 47feb70..f549363 100644 --- a/src/iced/nrepl/namespace.clj +++ b/src/iced/nrepl/namespace.clj @@ -17,11 +17,15 @@ (defmulti aliases (fn [env _] env)) (defmethod aliases "clj" [_ ns-code] - (->> ns-code i.u.ns/extract-ns-sym ns-aliases - (medley/map-vals ns-name) - ensure-string-map)) + (or (some->> ns-code i.u.ns/extract-ns-sym ns-aliases + (medley/map-vals ns-name) + ensure-string-map) + {})) (defmethod aliases "cljs" [_ ns-code] - (-> ns-code read-string r.ns.parser/get-libspecs r.ns.parser/aliases - ensure-string-map)) + (or (when (seq ns-code) + (some-> ns-code read-string r.ns.parser/get-libspecs + r.ns.parser/aliases + ensure-string-map)) + {})) diff --git a/test/iced/nrepl/namespace_test.clj b/test/iced/nrepl/namespace_test.clj index 276f85b..09d5636 100644 --- a/test/iced/nrepl/namespace_test.clj +++ b/test/iced/nrepl/namespace_test.clj @@ -22,6 +22,18 @@ "sut" "iced.nrepl.namespace"} (sut/aliases "clj" "(ns iced.nrepl.namespace-test)")))) + (t/testing "clj with no ns form" + (t/is (= {} (sut/aliases "clj" "(list 1 2 3)")))) + + (t/testing "clj with no ns form" + (t/is (= {} (sut/aliases "clj" "")))) + (t/testing "cljs" (t/is (= {"bar" "foo.bar"} - (sut/aliases "cljs" "(ns foo.core (:require [foo.bar :as bar]))"))))) + (sut/aliases "cljs" "(ns foo.core (:require [foo.bar :as bar]))")))) + + (t/testing "cljs with no ns form" + (t/is (= {} (sut/aliases "cljs" "(list 1 2 3)")))) + + (t/testing "cljs with no ns form" + (t/is (= {} (sut/aliases "cljs" "")))))