[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master d02f0221c41: Fix shortdoc-tests when Unicode arrows can be displa
From: |
Mattias Engdegård |
Subject: |
master d02f0221c41: Fix shortdoc-tests when Unicode arrows can be displayed |
Date: |
Sat, 25 Mar 2023 12:47:29 -0400 (EDT) |
branch: master
commit d02f0221c41bf8b248d79e3aaebdec68789001da
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>
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.
---
test/lisp/emacs-lisp/shortdoc-tests.el | 30 ++++++++++++++++++++++++------
1 file changed, 24 insertions(+), 6 deletions(-)
diff --git a/test/lisp/emacs-lisp/shortdoc-tests.el
b/test/lisp/emacs-lisp/shortdoc-tests.el
index d2dfbc66864..596b47d2543 100644
--- a/test/lisp/emacs-lisp/shortdoc-tests.el
+++ b/test/lisp/emacs-lisp/shortdoc-tests.el
@@ -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)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master d02f0221c41: Fix shortdoc-tests when Unicode arrows can be displayed,
Mattias Engdegård <=