add pre-commit staging testing
[flibbertigibbet] / test / leiningen / new / flibbertigibbet_test.clj
CommitLineData
fa24711e 1(ns leiningen.new.flibbertigibbet-test
2 (:require [clojure.test :refer :all]
3 [leiningen.new.flibbertigibbet :refer :all]))
4
5(defn safe-delete [file-path]
6 (if (.exists (clojure.java.io/file file-path))
7 (try
8 (clojure.java.io/delete-file file-path)
9 (catch Exception e (str "exception: " (.getMessage e))))
10 false))
11
12(defn delete-directory [directory]
13 (let [contents (file-seq (clojure.java.io/file directory))
14 delete-files (filter #(.isFile %) contents)]
15 (doseq [file delete-files]
16 (safe-delete (.getPath file)))
17 (safe-delete directory)))
18
19(deftest a-test
20 (testing "flibbertigibbet should advertise itself, so i know it works"
21 (is (= "Generating fresh 'lein new' flibbertigibbet project: projecta\n"
22 (with-out-str (flibbertigibbet "projecta"))))
23 (delete-directory "./projecta")))