emacs-diffs
[Top][All Lists]
Advanced

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]