|
|
(ns project-checkup.core-test
|
|
|
(:require [clojure.test :refer :all]
|
|
|
[project-checkup.core :refer :all]))
|
|
|
|
|
|
(deftest test-check-vcs
|
|
|
(testing "Ensure the check works."
|
|
|
(is
|
|
|
(check-vcs {:files [".git"]}) )
|
|
|
(is
|
|
|
(check-vcs {:files [".hg"]}) )
|
|
|
(is
|
|
|
(check-vcs {:files [".hg" ".git"]}) ))
|
|
|
(testing "Ensure no false positives."
|
|
|
(is
|
|
|
(not (check-vcs {:files []})) )
|
|
|
(is ;various almost-correct entries
|
|
|
(not (check-vcs {:files ["hg" "git" "."]})) )))
|
|
|
|
|
|
(deftest test-check-readme
|
|
|
(testing "Ensure READMEs are found correctly."
|
|
|
(is
|
|
|
(check-readme {:files ["README.md"]})))
|
|
|
(testing "Ensure no false positives"
|
|
|
(is
|
|
|
(not (check-readme {:files ["readme.exe"]})))
|
|
|
(is
|
|
|
(not (check-readme {:files []})))))
|
|
|
|
|
|
(deftest test-check-untracked
|
|
|
(testing "Ensure empty returns true"
|
|
|
(is (check-untracked {:untracked-files []})))
|
|
|
(testing "Ensure non-empty returns false"
|
|
|
(is (not (check-untracked {:untracked-files [".hg"]})))))
|
|
|
|
|
|
(deftest test-check-license
|
|
|
(testing "Ensure license is counted"
|
|
|
(is (check-license {:files ["LICENSE.mkd"]}))
|
|
|
(is (check-license {:files ["LICENSE"]})))
|
|
|
(testing "Ensure non-plain text licenses don't count."
|
|
|
(is (not (check-license {:files ["LICENSE.docx"]})))
|
|
|
(is (not (check-license {:files ["LICENSE.pdf"]}))))
|
|
|
(testing "Ensure blank is false."
|
|
|
(is (not (check-license {:files []})))
|
|
|
(is (not (check-license {})))
|
|
|
(is (not (check-license {:files ["licens" "README"]})))))
|
|
|
|
|
|
(deftest test-get-extension
|
|
|
(testing "test various paths with extensions"
|
|
|
(is (= (get-extension "test.txt") ".txt"))
|
|
|
(is (= (get-extension "./test.txt") ".txt"))
|
|
|
(is (= (get-extension "test.txt.bak") ".bak"))
|
|
|
(is (= (get-extension ".hg/test.txt.bak") ".bak"))))
|
|
|
|