diff options
-rw-r--r-- | src/clj/clojure/core.clj | 8 | ||||
-rw-r--r-- | test/clojure/test_clojure/ns_libs.clj | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj index bec3f2af..e2cf386e 100644 --- a/src/clj/clojure/core.clj +++ b/src/clj/clojure/core.clj @@ -4206,6 +4206,14 @@ (let [flags (filter keyword? args) opts (interleave flags (repeat true)) args (filter (complement keyword?) args)] + ; check for unsupported options + (let [supported #{:as :reload :reload-all :require :use :verbose} + unsupported (seq (remove supported flags))] + (throw-if unsupported + (apply str "Unsupported option(s) supplied: " + (interpose \, unsupported)))) + ; check a load target was specified + (throw-if (not (seq args)) "Nothing specified to load") (doseq [arg args] (if (libspec? arg) (apply load-lib nil (prependss arg opts)) diff --git a/test/clojure/test_clojure/ns_libs.clj b/test/clojure/test_clojure/ns_libs.clj index a9a2145c..c5b9666a 100644 --- a/test/clojure/test_clojure/ns_libs.clj +++ b/test/clojure/test_clojure/ns_libs.clj @@ -26,3 +26,11 @@ ; require use ; loaded-libs +(deftest test-require + (is (thrown? Exception (require :foo))) + (is (thrown? Exception (require)))) + +(deftest test-use + (is (thrown? Exception (use :foo))) + (is (thrown? Exception (use)))) + |