mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Fix shortdoc-tests when Unicode arrows can be displayed
New shortdoc functions use Unicode arrows when possible, which caused some tests to fail if run under such circumstances. * test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-tests--to-ascii): New function. (shortdoc-function-examples-test) (shortdoc-help-fns-examples-function-test): Call it.
This commit is contained in:
parent
52b67740d1
commit
d02f0221c4
1 changed files with 24 additions and 6 deletions
|
|
@ -65,30 +65,48 @@
|
|||
(when buf
|
||||
(kill-buffer buf))))))
|
||||
|
||||
(defun shortdoc-tests--to-ascii (x)
|
||||
"Translate Unicode arrows to ASCII for making the test work everywhere."
|
||||
(cond ((consp x)
|
||||
(cons (shortdoc-tests--to-ascii (car x))
|
||||
(shortdoc-tests--to-ascii (cdr x))))
|
||||
((stringp x)
|
||||
(thread-last x
|
||||
(string-replace "⇒" "=>")
|
||||
(string-replace "→" "->")))
|
||||
(t x)))
|
||||
|
||||
(ert-deftest shortdoc-function-examples-test ()
|
||||
"Test the extraction of usage examples of some Elisp functions."
|
||||
(should (equal '((list . "(delete 2 (list 1 2 3 4))\n => (1 3 4)\n (delete \"a\" (list \"a\" \"b\" \"c\" \"d\"))\n => (\"b\" \"c\" \"d\")"))
|
||||
(shortdoc-function-examples 'delete)))
|
||||
(shortdoc-tests--to-ascii
|
||||
(shortdoc-function-examples 'delete))))
|
||||
(should (equal '((alist . "(assq 'foo '((foo . bar) (zot . baz)))\n => (foo . bar)")
|
||||
(list . "(assq 'b '((a . 1) (b . 2)))\n => (b . 2)"))
|
||||
(shortdoc-function-examples 'assq)))
|
||||
(shortdoc-tests--to-ascii
|
||||
(shortdoc-function-examples 'assq))))
|
||||
(should (equal '((regexp . "(string-match-p \"^[fo]+\" \"foobar\")\n => 0"))
|
||||
(shortdoc-function-examples 'string-match-p))))
|
||||
(shortdoc-tests--to-ascii
|
||||
(shortdoc-function-examples 'string-match-p)))))
|
||||
|
||||
(ert-deftest shortdoc-help-fns-examples-function-test ()
|
||||
"Test that `shortdoc-help-fns-examples-function' correctly prints ELisp function examples."
|
||||
(with-temp-buffer
|
||||
(shortdoc-help-fns-examples-function 'string-fill)
|
||||
(should (equal "\n Examples:\n\n (string-fill \"Three short words\" 12)\n => \"Three short\\nwords\"\n (string-fill \"Long-word\" 3)\n => \"Long-word\"\n\n"
|
||||
(buffer-substring-no-properties (point-min) (point-max))))
|
||||
(shortdoc-tests--to-ascii
|
||||
(buffer-substring-no-properties (point-min) (point-max)))))
|
||||
(erase-buffer)
|
||||
(shortdoc-help-fns-examples-function 'assq)
|
||||
(should (equal "\n Examples:\n\n (assq 'foo '((foo . bar) (zot . baz)))\n => (foo . bar)\n\n (assq 'b '((a . 1) (b . 2)))\n => (b . 2)\n\n"
|
||||
(buffer-substring-no-properties (point-min) (point-max))))
|
||||
(shortdoc-tests--to-ascii
|
||||
(buffer-substring-no-properties (point-min) (point-max)))))
|
||||
(erase-buffer)
|
||||
(shortdoc-help-fns-examples-function 'string-trim)
|
||||
(should (equal "\n Example:\n\n (string-trim \" foo \")\n => \"foo\"\n\n"
|
||||
(buffer-substring-no-properties (point-min) (point-max))))))
|
||||
(shortdoc-tests--to-ascii
|
||||
(buffer-substring-no-properties (point-min)
|
||||
(point-max)))))))
|
||||
|
||||
(provide 'shortdoc-tests)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue