diff options
author | Stefan Kangas <stefan@marxist.se> | 2021-09-23 21:10:08 +0200 |
---|---|---|
committer | Stefan Kangas <stefan@marxist.se> | 2021-09-23 22:35:40 +0200 |
commit | 55083d90a30628d9eaa5b94196291ca15098aed0 (patch) | |
tree | 1bab2243c4edf1201c142f8c5bda07be61618571 /test/lisp/emacs-lisp | |
parent | 387af85c4d51dd98267f296bc91cf22d7ecc5374 (diff) | |
download | emacs-55083d90a30628d9eaa5b94196291ca15098aed0.tar.gz emacs-55083d90a30628d9eaa5b94196291ca15098aed0.tar.bz2 emacs-55083d90a30628d9eaa5b94196291ca15098aed0.zip |
Avoid jumping too far in checkdoc-in-abbreviation-p
* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Use
'forward-ward' instead of 'forward-sexp' to avoid jumping too far in
some situations. (Bug#50731)
* test/lisp/emacs-lisp/checkdoc-tests.el
(checkdoc-tests--abbrev-test): New helper function.
(checkdoc-tests-in-abbrevation-p/basic-case): Rename from
'checkdoc-tests-in-abbrevation-p'.
(checkdoc-tests-in-abbrevation-p/with-parens)
(checkdoc-tests-in-abbrevation-p/with-escaped-parens): Use above new
helper function.
(checkdoc-tests-in-abbrevation-p/single-char)
(checkdoc-tests-in-abbrevation-p/with-em-dash)
(checkdoc-tests-in-abbrevation-p/incorrect-abbreviation): New tests.
Diffstat (limited to 'test/lisp/emacs-lisp')
-rw-r--r-- | test/lisp/emacs-lisp/checkdoc-tests.el | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/test/lisp/emacs-lisp/checkdoc-tests.el b/test/lisp/emacs-lisp/checkdoc-tests.el index 3eb7da3d4a7..13b6d134e5c 100644 --- a/test/lisp/emacs-lisp/checkdoc-tests.el +++ b/test/lisp/emacs-lisp/checkdoc-tests.el @@ -122,29 +122,31 @@ See the comments in Bug#24998." (should (looking-at-p "\"baz\")")) (should-not (checkdoc-next-docstring)))) -(ert-deftest checkdoc-tests-in-abbrevation-p () +(defun checkdoc-tests--abbrev-test (buffer-contents goto-string) (with-temp-buffer (emacs-lisp-mode) - (insert "foo bar e.g. baz") + (insert buffer-contents) (goto-char (point-min)) - (re-search-forward "e.g") - (should (checkdoc-in-abbreviation-p (point))))) + (re-search-forward goto-string) + (checkdoc-in-abbreviation-p (point)))) + +(ert-deftest checkdoc-tests-in-abbrevation-p/basic-case () + (should (checkdoc-tests--abbrev-test "foo bar e.g. baz" "e.g"))) (ert-deftest checkdoc-tests-in-abbrevation-p/with-parens () - (with-temp-buffer - (emacs-lisp-mode) - (insert "foo bar (e.g. baz)") - (goto-char (point-min)) - (re-search-forward "e.g") - (should (checkdoc-in-abbreviation-p (point))))) + (should (checkdoc-tests--abbrev-test "foo bar (e.g. baz)" "e.g"))) (ert-deftest checkdoc-tests-in-abbrevation-p/with-escaped-parens () - (with-temp-buffer - (emacs-lisp-mode) - (insert "foo\n\\(e.g. baz)") - (goto-char (point-min)) - (re-search-forward "e.g") - (should (checkdoc-in-abbreviation-p (point))))) + (should (checkdoc-tests--abbrev-test "foo\n\\(e.g. baz)" "e.g"))) + +(ert-deftest checkdoc-tests-in-abbrevation-p/single-char () + (should (checkdoc-tests--abbrev-test "a. foo bar" "a"))) + +(ert-deftest checkdoc-tests-in-abbrevation-p/with-em-dash () + (should (checkdoc-tests--abbrev-test "foo bar baz---e.g." "e.g"))) + +(ert-deftest checkdoc-tests-in-abbrevation-p/incorrect-abbreviation () + (should-not (checkdoc-tests--abbrev-test "foo bar a.b.c." "a.b.c"))) (ert-deftest checkdoc-tests-fix-y-or-n-p () (with-temp-buffer |