]> code.delx.au - dotemacs/blobdiff - lisp/my-find-test-file.el
rjsx-mode
[dotemacs] / lisp / my-find-test-file.el
index a792203108a0ad552ea56d2c5093ee42a48179d4..69ca72fae064f2d4f77f221d79383c33f82457a5 100644 (file)
@@ -8,19 +8,18 @@
            (string-match-p "spec" file))))
 
 (defun my/matching-test-file-p (test-file base-name extension)
-  (let ((found nil))
-    (dolist (pattern (list
-                      (concat "test/.*" base-name "[^/]*\\." extension "$")
-                      (concat "spec/.*" base-name "[^/]*\\." extension "$")
-                      (concat "test[^/]*" base-name "[^/]*\\." extension "$")
-                      (concat base-name "[^/]*test\\." extension "$")
-                      (concat base-name "[^/]*spec\\." extension "$")))
-      (if (string-match-p pattern test-file)
-          (setq found t)))
-    found))
+  (cl-loop for pattern in (list
+                           (concat "test/.*" base-name "[^/]*\\." extension "$")
+                           (concat "spec/.*" base-name "[^/]*\\." extension "$")
+                           (concat "test[^/]*" base-name "[^/]*\\." extension "$")
+                           (concat base-name "[^/]*test\\." extension "$")
+                           (concat base-name "[^/]*spec\\." extension "$"))
+           for matched = (string-match-p pattern test-file)
+           until matched
+           finally return (not (null matched))))
 
 (defun my/matching-prod-file-p (prod-file base-name extension)
-  (dolist (pattern '("test" "spec" "^\\.*" "\\.*$"))
+  (dolist (pattern '("test" "it.spec" "spec" "^\\.*" "\\.*$"))
     (setq base-name (replace-regexp-in-string pattern "" base-name)))
   (and (my/prod-file-p prod-file)
        (string-match-p (concat base-name "[^/]*\\." extension "$") prod-file)))