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")