diff options
| author | Laurence Warne <laurencewarne@gmail.com> | 2022-10-01 14:39:21 +0100 |
|---|---|---|
| committer | Bozhidar Batsov <bozhidar@batsov.dev> | 2022-10-04 15:27:14 +0200 |
| commit | 3d7a3196141d61d8a25c78da4fb20f5673503fd7 (patch) | |
| tree | 57026e8e49f7c0ccb8b3696b6a520316030c0fd2 /test | |
| parent | 383b3bf47d34ca60c24cd73ea9c335936d0b70be (diff) | |
Make all project type attributes locally overridable
Add local overrides for the project type attributes test-prefix,
test-suffix, related-files-fn, src-dir and test-dir. Add tests
for this new behaviour.
Diffstat (limited to 'test')
| -rw-r--r-- | test/projectile-test.el | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/test/projectile-test.el b/test/projectile-test.el index 1e7a2dd..875b01e 100644 --- a/test/projectile-test.el +++ b/test/projectile-test.el @@ -2045,6 +2045,71 @@ projectile-process-current-project-buffers-current to have similar behaviour" (projectile--get-command-history projectile-project-root)) :to-equal '("bar" "foo"))))) +(describe "projectile-test-prefix" + :var ((mock-projectile-project-types + '((foo test-prefix "Test")))) + (it "gets set test-prefix" + (let ((projectile-project-types mock-projectile-project-types) + (projectile-project-type 'foo)) + (expect (projectile-test-prefix'foo) :to-equal "Test"))) + (it "uses local override" + (let ((projectile-project-types mock-projectile-project-types) + (projectile-project-type 'foo) + (projectile-project-test-prefix "Spec")) + (expect (projectile-test-prefix 'foo) :to-equal "Spec")))) + +(describe "projectile-test-suffix" + :var ((mock-projectile-project-types + '((foo test-suffix "Test")))) + (it "gets set test-suffix" + (let ((projectile-project-types mock-projectile-project-types) + (projectile-project-type 'foo)) + (expect (projectile-test-suffix'foo) :to-equal "Test"))) + (it "uses local override" + (let ((projectile-project-types mock-projectile-project-types) + (projectile-project-type 'foo) + (projectile-project-test-suffix "Spec")) + (expect (projectile-test-suffix 'foo) :to-equal "Spec")))) + +(describe "projectile-related-files-fn" + :var ((mock-projectile-project-types + '((foo related-files-fn ignore)))) + (it "gets set related-files-fn" + (let ((projectile-project-types mock-projectile-project-types) + (projectile-project-type 'foo)) + (expect (projectile-related-files-fn 'foo) :to-equal #'ignore))) + (it "uses local override" + (let ((projectile-project-types mock-projectile-project-types) + (projectile-project-type 'foo) + (projectile-project-related-files-fn #'identity)) + (expect (projectile-related-files-fn 'foo) :to-equal #'identity)))) + +(describe "projectile-test-directory" + :var ((mock-projectile-project-types + '((foo test-dir "test")))) + (it "gets set test directory" + (let ((projectile-project-types mock-projectile-project-types) + (projectile-project-type 'foo)) + (expect (projectile-test-directory 'foo) :to-equal "test"))) + (it "uses local override" + (let ((projectile-project-types mock-projectile-project-types) + (projectile-project-type 'foo) + (projectile-project-test-dir "other")) + (expect (projectile-test-directory 'foo) :to-equal "other")))) + +(describe "projectile-src-directory" + :var ((mock-projectile-project-types + '((foo src-dir "src")))) + (it "gets set src directory" + (let ((projectile-project-types mock-projectile-project-types) + (projectile-project-type 'foo)) + (expect (projectile-src-directory 'foo) :to-equal "src"))) + (it "uses local override" + (let ((projectile-project-types mock-projectile-project-types) + (projectile-project-type 'foo) + (projectile-project-src-dir "other")) + (expect (projectile-src-directory 'foo) :to-equal "other")))) + ;; A bunch of tests that make sure Projectile commands handle ;; gracefully the case of being run outside of a project. (assert-friendly-error-when-no-project projectile-project-info) |
