summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMauro Aranda <maurooaranda@gmail.com>2021-03-04 08:34:58 -0300
committerMauro Aranda <maurooaranda@gmail.com>2021-03-04 08:34:58 -0300
commitfd9202304c8e08665c5dd468cdd56b523ffc7997 (patch)
tree0c74769efd337828c6a8476572009165621ea092 /test
parent2d435224689ab8b02b64ce78b6e9d061fe48df22 (diff)
downloademacs-fd9202304c8e08665c5dd468cdd56b523ffc7997.tar.gz
Make checkdoc work with qualified methods
* lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Handle cl-defmethod in a case of its own. Check for the presence of qualifiers, and skip them accordingly until the docstring. * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-cl-defmethod-qualified-ok) (checkdoc-cl-defmethod-with-extra-qualifier-ok) (checkdoc-cl-defmethod-with-extra-and-nil-args-ok): Add tests for the fix.
Diffstat (limited to 'test')
-rw-r--r--test/lisp/emacs-lisp/checkdoc-tests.el27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/lisp/emacs-lisp/checkdoc-tests.el b/test/lisp/emacs-lisp/checkdoc-tests.el
index 93015fbb105..7a7aa9fb3cd 100644
--- a/test/lisp/emacs-lisp/checkdoc-tests.el
+++ b/test/lisp/emacs-lisp/checkdoc-tests.el
@@ -52,6 +52,33 @@
(insert "(cl-defmethod foo ((a (eql smthg)) (b list)) \"Return A+B.\")")
(checkdoc-defun)))
+(ert-deftest checkdoc-cl-defmethod-qualified-ok ()
+ "Checkdoc should be happy with a `cl-defmethod' using qualifiers."
+ (with-temp-buffer
+ (emacs-lisp-mode)
+ (insert "(cl-defmethod test :around ((a (eql smthg))) \"Return A.\")")
+ (checkdoc-defun)))
+
+(ert-deftest checkdoc-cl-defmethod-with-extra-qualifier-ok ()
+ "Checkdoc should be happy with a :extra qualified `cl-defmethod'."
+ (with-temp-buffer
+ (emacs-lisp-mode)
+ (insert "(cl-defmethod foo :extra \"foo\" ((a (eql smthg))) \"Return A.\")")
+ (checkdoc-defun))
+
+ (with-temp-buffer
+ (emacs-lisp-mode)
+ (insert
+ "(cl-defmethod foo :extra \"foo\" :after ((a (eql smthg))) \"Return A.\")")
+ (checkdoc-defun)))
+
+(ert-deftest checkdoc-cl-defmethod-with-extra-qualifier-and-nil-args-ok ()
+ "Checkdoc should be happy with a 0-arity :extra qualified `cl-defmethod'."
+ (with-temp-buffer
+ (emacs-lisp-mode)
+ (insert "(cl-defmethod foo :extra \"foo\" () \"Return A.\")")
+ (checkdoc-defun)))
+
(ert-deftest checkdoc-cl-defun-with-key-ok ()
"Checkdoc should be happy with a cl-defun using &key."
(with-temp-buffer