]> git.eshelyaron.com Git - emacs.git/commitdiff
Add a unit test to reproduce Bug#48471.
authorPhilipp Stephani <phst@google.com>
Mon, 17 May 2021 08:43:54 +0000 (10:43 +0200)
committerPhilipp Stephani <phst@google.com>
Mon, 17 May 2021 08:43:54 +0000 (10:43 +0200)
* test/lisp/progmodes/project-tests.el (project-tests--trivial)
(project-root, project-ignores): New test project type.
(project-ignores): New unit test.

test/lisp/progmodes/project-tests.el

index c8c03aa2579679827ef507f435415d4d72aac497..68460a9fa5bddae9542f4b6e1f7789c0b5e7cdcf 100644 (file)
@@ -82,4 +82,29 @@ quoted directory names (Bug#47799)."
            (ert-fail (format-message "Unexpected references: %S"
                                      otherwise))))))))
 
+(cl-defstruct project-tests--trivial root ignores)
+
+(cl-defmethod project-root ((project project-tests--trivial))
+  (project-tests--trivial-root project))
+
+(cl-defmethod project-ignores ((project project-tests--trivial) _dir)
+  (project-tests--trivial-ignores project))
+
+(ert-deftest project-ignores ()
+  "Check that `project-files' correctly ignores the files
+returned by `project-ignores' if the root directory is a
+directory name (Bug#48471)."
+  (skip-unless (executable-find find-program))
+  (project-tests--with-temporary-directory dir
+    (make-empty-file (expand-file-name "some-file" dir))
+    (make-empty-file (expand-file-name "ignored-file" dir))
+    (let* ((project (make-project-tests--trivial
+                     :root (file-name-as-directory dir)
+                     :ignores '("./ignored-file")))
+           (files (project-files project))
+           (relative-files
+            (cl-loop for file in files
+                     collect (file-relative-name file dir))))
+      (should (equal relative-files '("some-file"))))))
+
 ;;; project-tests.el ends here