branch: elpa/cider
commit 98cb354a27f655b0830c97e2fc8c4c0f68e92f63
Author: Bozhidar Batsov <[email protected]>
Commit: Bozhidar Batsov <[email protected]>

    Fix test quality issues
    
    - Fix typo "returrns" -> "returns" in test description
    - Fix copy-paste bug: duplicate -T:test alias test, second should be -X:test
    - Remove describe block incorrectly nested inside an it block
    - Replace fset on global names (file-name, line-num, col-num, face) with
      properly namespaced test helper functions to avoid polluting the global
      function namespace
---
 test/cider-error-parsing-tests.el | 87 +++++++++++++++++++--------------------
 test/cider-tests.el               | 37 ++++++++---------
 2 files changed, 59 insertions(+), 65 deletions(-)

diff --git a/test/cider-error-parsing-tests.el 
b/test/cider-error-parsing-tests.el
index 6bd0e9f7b49..2fddb2ba863 100644
--- a/test/cider-error-parsing-tests.el
+++ b/test/cider-error-parsing-tests.el
@@ -32,90 +32,87 @@
 
 ;; Please, for each `describe', ensure there's an `it' block, so that its 
execution is visible in CI.
 
-(describe "cider-extract-error-info"
-  :var (file-name line-num col-num face)
-  (before-all
-   ;; FIXME: Don't mess with such global names, please!
-   ;; Maybe use `cl-flet' instead?
-    (fset 'file-name (lambda (info) (nth 0 info)))
-    (fset 'line-num (lambda (info) (nth 1 info)))
-    (fset 'col-num (lambda (info) (nth 2 info)))
-    (fset 'face (lambda (info) (nth 3 info))))
+;; Accessors for `cider-extract-error-info' results.
+(defun cider-error-test--file-name (info) (nth 0 info))
+(defun cider-error-test--line-num (info) (nth 1 info))
+(defun cider-error-test--col-num (info) (nth 2 info))
+(defun cider-error-test--face (info) (nth 3 info))
 
+(describe "cider-extract-error-info"
   (it "extracts correct information from the error message"
 
     ;; test-cider-extract-error-info-14
     (let* ((message "Syntax error compiling at (/some/test/file/core.clj:31). 
Unable to resolve symbol: dummy in this context.")
            (info (cider-extract-error-info cider-compilation-regexp message)))
-      (expect (file-name info) :to-equal "/some/test/file/core.clj")
-      (expect (line-num info) :to-equal 31)
-      (expect (col-num info) :to-equal nil)
-      (expect (face info) :to-equal 'cider-error-highlight-face))
+      (expect (cider-error-test--file-name info) :to-equal 
"/some/test/file/core.clj")
+      (expect (cider-error-test--line-num info) :to-equal 31)
+      (expect (cider-error-test--col-num info) :to-equal nil)
+      (expect (cider-error-test--face info) :to-equal 
'cider-error-highlight-face))
 
     ;; test-cider-extract-error-info-14-windows
     (let* ((message "Syntax error compiling at 
(c:\\some\\test\\file\\core.clj:31). Unable to resolve symbol: dummy in this 
context.")
            (info (cider-extract-error-info cider-compilation-regexp message)))
-      (expect (file-name info) :to-equal "c:\\some\\test\\file\\core.clj")
-      (expect (line-num info) :to-equal 31)
-      (expect (col-num info) :to-equal nil)
-      (expect (face info) :to-equal 'cider-error-highlight-face))
+      (expect (cider-error-test--file-name info) :to-equal 
"c:\\some\\test\\file\\core.clj")
+      (expect (cider-error-test--line-num info) :to-equal 31)
+      (expect (cider-error-test--col-num info) :to-equal nil)
+      (expect (cider-error-test--face info) :to-equal 
'cider-error-highlight-face))
 
     ;; test-cider-extract-error-info-14-no-file
     (let* ((message "Syntax error compiling at (REPL:31). Unable to resolve 
symbol: dummy in this context.")
            (info (cider-extract-error-info cider-compilation-regexp message)))
-      (expect (file-name info) :to-equal nil)
-      (expect (line-num info) :to-equal 31)
-      (expect (col-num info) :to-equal nil)
-      (expect (face info) :to-equal 'cider-error-highlight-face))
+      (expect (cider-error-test--file-name info) :to-equal nil)
+      (expect (cider-error-test--line-num info) :to-equal 31)
+      (expect (cider-error-test--col-num info) :to-equal nil)
+      (expect (cider-error-test--face info) :to-equal 
'cider-error-highlight-face))
 
 
     ;; test-cider-extract-warning-info-14
     (let* ((message "Reflection warning, /some/othertest/file/core.clj:24 - 
reference to field getCanonicalPath can't be resolved.")
            (info (cider-extract-error-info cider-compilation-regexp message)))
-      (expect (file-name info) :to-equal "/some/othertest/file/core.clj")
-      (expect (line-num info) :to-equal 24)
-      (expect (col-num info) :to-equal nil)
-      (expect (face info) :to-equal 'cider-warning-highlight-face))
+      (expect (cider-error-test--file-name info) :to-equal 
"/some/othertest/file/core.clj")
+      (expect (cider-error-test--line-num info) :to-equal 24)
+      (expect (cider-error-test--col-num info) :to-equal nil)
+      (expect (cider-error-test--face info) :to-equal 
'cider-warning-highlight-face))
 
     ;; test-cider-extract-warning-info-14-no-file
     (let* ((message "Reflection warning, NO_SOURCE_PATH:24 - reference to 
field getCanonicalPath can't be resolved.")
            (info (cider-extract-error-info cider-compilation-regexp message)))
-      (expect (file-name info) :to-equal nil)
-      (expect (line-num info) :to-equal 24)
-      (expect (col-num info) :to-equal nil)
-      (expect (face info) :to-equal 'cider-warning-highlight-face))
+      (expect (cider-error-test--file-name info) :to-equal nil)
+      (expect (cider-error-test--line-num info) :to-equal 24)
+      (expect (cider-error-test--col-num info) :to-equal nil)
+      (expect (cider-error-test--face info) :to-equal 
'cider-warning-highlight-face))
 
     ;; test-cider-extract-error-info-15
     (let* ((message "Syntax error compiling at 
(/some/test/file/core.clj:31:3). Unable to resolve symbol: dummy in this 
context.")
            (info (cider-extract-error-info cider-compilation-regexp message)))
-      (expect (file-name info) :to-equal "/some/test/file/core.clj")
-      (expect (line-num info) :to-equal 31)
-      (expect (col-num info) :to-equal 3)
-      (expect (face info) :to-equal 'cider-error-highlight-face))
+      (expect (cider-error-test--file-name info) :to-equal 
"/some/test/file/core.clj")
+      (expect (cider-error-test--line-num info) :to-equal 31)
+      (expect (cider-error-test--col-num info) :to-equal 3)
+      (expect (cider-error-test--face info) :to-equal 
'cider-error-highlight-face))
 
     ;; test-cider-extract-error-info-15-no-file
     (let* ((message "Syntax error compiling at (REPL:31:3). Unable to resolve 
symbol: dummy in this context")
            (info (cider-extract-error-info cider-compilation-regexp message)))
-      (expect (file-name info) :to-equal nil)
-      (expect (line-num info) :to-equal 31)
-      (expect (col-num info) :to-equal 3)
-      (expect (face info) :to-equal 'cider-error-highlight-face))
+      (expect (cider-error-test--file-name info) :to-equal nil)
+      (expect (cider-error-test--line-num info) :to-equal 31)
+      (expect (cider-error-test--col-num info) :to-equal 3)
+      (expect (cider-error-test--face info) :to-equal 
'cider-error-highlight-face))
 
     ;; test-cider-extract-warning-info-15
     (let* ((message "Reflection warning, /some/othertest/file/core.clj:24:43 - 
reference to field getCanonicalPath can't be resolved.")
            (info (cider-extract-error-info cider-compilation-regexp message)))
-      (expect (file-name info) :to-equal "/some/othertest/file/core.clj")
-      (expect (line-num info) :to-equal 24)
-      (expect (col-num info) :to-equal 43)
-      (expect (face info) :to-equal 'cider-warning-highlight-face))
+      (expect (cider-error-test--file-name info) :to-equal 
"/some/othertest/file/core.clj")
+      (expect (cider-error-test--line-num info) :to-equal 24)
+      (expect (cider-error-test--col-num info) :to-equal 43)
+      (expect (cider-error-test--face info) :to-equal 
'cider-warning-highlight-face))
 
     ;; test-cider-extract-warning-info-15-no-file
     (let* ((message "Reflection warning, NO_SOURCE_PATH:24:43 - reference to 
field getCanonicalPath can't be resolved.")
            (info (cider-extract-error-info cider-compilation-regexp message)))
-      (expect (file-name info) :to-equal nil)
-      (expect (line-num info) :to-equal 24)
-      (expect (col-num info) :to-equal 43)
-      (expect (face info) :to-equal 'cider-warning-highlight-face))))
+      (expect (cider-error-test--file-name info) :to-equal nil)
+      (expect (cider-error-test--line-num info) :to-equal 24)
+      (expect (cider-error-test--col-num info) :to-equal 43)
+      (expect (cider-error-test--face info) :to-equal 
'cider-warning-highlight-face))))
 
 (describe "The cider compilation regexes"
   (it "Recognizes a clojure warning message"
diff --git a/test/cider-tests.el b/test/cider-tests.el
index 83a8816a0be..7d3e8cd7ef2 100644
--- a/test/cider-tests.el
+++ b/test/cider-tests.el
@@ -132,7 +132,7 @@
   (it "returns a single middleware param if one passed"
     (expect (cider--gradle-middleware-params '("my-ns/my-middleware"))
             :to-equal  (shell-quote-argument 
"--middleware=my-ns/my-middleware")))
-  (it "returrns multiple middleware params, space-separated, if multiple 
passed"
+  (it "returns multiple middleware params, space-separated, if multiple passed"
     (expect (cider--gradle-middleware-params '("my-ns/my-middleware" 
"other-ns/other-middleware"))
             :to-equal (concat (shell-quote-argument 
"--middleware=my-ns/my-middleware")
                               " "
@@ -405,25 +405,22 @@
         (let ((cider-clojure-cli-aliases ":test"))
           (expect (cider-clojure-cli-jack-in-dependencies nil deps)
                   :to-equal expected))
-        (describe "should strip out leading exec opts -A -M -T -X, and ensure 
there's a leading :"
-          (let ((cider-clojure-cli-aliases ":test"))
-            (expect (cider-clojure-cli-jack-in-dependencies nil deps)
-                    :to-equal expected))
-          (let ((cider-clojure-cli-aliases "test"))
-            (expect (cider-clojure-cli-jack-in-dependencies nil deps)
-                    :to-equal expected))
-          (let ((cider-clojure-cli-aliases "-A:test"))
-            (expect (cider-clojure-cli-jack-in-dependencies nil deps)
-                    :to-equal expected))
-          (let ((cider-clojure-cli-aliases "-M:test"))
-            (expect (cider-clojure-cli-jack-in-dependencies nil deps)
-                    :to-equal expected))
-          (let ((cider-clojure-cli-aliases "-T:test"))
-            (expect (cider-clojure-cli-jack-in-dependencies nil deps)
-                    :to-equal expected))
-          (let ((cider-clojure-cli-aliases "-T:test"))
-            (expect (cider-clojure-cli-jack-in-dependencies nil deps)
-                    :to-equal expected)))))
+        ;; should strip out leading exec opts -A -M -T -X, and ensure there's 
a leading :
+        (let ((cider-clojure-cli-aliases "test"))
+          (expect (cider-clojure-cli-jack-in-dependencies nil deps)
+                  :to-equal expected))
+        (let ((cider-clojure-cli-aliases "-A:test"))
+          (expect (cider-clojure-cli-jack-in-dependencies nil deps)
+                  :to-equal expected))
+        (let ((cider-clojure-cli-aliases "-M:test"))
+          (expect (cider-clojure-cli-jack-in-dependencies nil deps)
+                  :to-equal expected))
+        (let ((cider-clojure-cli-aliases "-T:test"))
+          (expect (cider-clojure-cli-jack-in-dependencies nil deps)
+                  :to-equal expected))
+        (let ((cider-clojure-cli-aliases "-X:test"))
+          (expect (cider-clojure-cli-jack-in-dependencies nil deps)
+                  :to-equal expected))))
     (it "allows to specify git coordinate as cider-jack-in-dependency"
       (setq-local cider-injected-nrepl-version "1.2.3")
       (setq-local cider-injected-middleware-version "2.3.4")

Reply via email to