diff --git a/src/leiningen/new.clj b/src/leiningen/new.clj index 8a1710e5..bf59b27d 100644 --- a/src/leiningen/new.clj +++ b/src/leiningen/new.clj @@ -22,7 +22,8 @@ Neither group-id nor artifact-id may contain slashes." ['org.clojure/clojure-contrib "1.0-SNAPSHOT"]]))) (let [project-ns (.replace (str project-name) "/" ".") - project-clj (str (.replace (str project-name) "-" "_") ".clj")] + project-clj (str (apply str (replace {\- \_, \. \/} project-ns)) + ".clj")] (.mkdirs (file project-dir "test")) (.mkdirs (.getParentFile (file project-dir "src" project-clj))) (spit (file project-dir "src" project-clj) diff --git a/test/test_new.clj b/test/test_new.clj new file mode 100644 index 00000000..79656a7b --- /dev/null +++ b/test/test_new.clj @@ -0,0 +1,9 @@ +(ns test-new + (:use [clojure.test] + [clojure.contrib.java-utils :only [delete-file-recursively file]] + [clojure.contrib.shell-out :only [with-sh-dir sh]])) + +(deftest test-new + (sh "lein" "new" "a.b/test-new-proj") + (is (.exists (file "test-new-proj" "src" "a" "b" "test_new_proj.clj"))) + (delete-file-recursively (file "test-new-proj") false)) \ No newline at end of file