emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 4101464b476: Make ‘mailcap-viewer-passes-test’ return t for view


From: Stefan Kangas
Subject: master 4101464b476: Make ‘mailcap-viewer-passes-test’ return t for viewers without tests
Date: Sun, 10 Sep 2023 02:16:58 -0400 (EDT)

branch: master
commit 4101464b4765b67c1b8b5ec099ffccf37385ef9c
Author: Felix Dietrich <felix.dietrich@sperrhaken.name>
Commit: Stefan Kangas <stefankangas@gmail.com>

    Make ‘mailcap-viewer-passes-test’ return t for viewers without tests
    
    * lisp/net/mailcap.el (mailcap-viewer-passes-test):
    Make ‘mailcap-viewer-passes-test’ follow its docstring and return t
    for viewers without a test.  (Bug#65224)
    * test/lisp/net/mailcap-tests.el
    (mailcap-viewer-passes-test-w/o-test-returns-t): New test.
---
 lisp/net/mailcap.el            |  2 +-
 test/lisp/net/mailcap-tests.el | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/lisp/net/mailcap.el b/lisp/net/mailcap.el
index 4d01737e3e6..81cc51f1bf0 100644
--- a/lisp/net/mailcap.el
+++ b/lisp/net/mailcap.el
@@ -689,9 +689,9 @@ to supply to the test."
         status cache result)
     (cond ((not (or (stringp viewer) (fboundp viewer)))
           nil)                         ; Non-existent Lisp function
+         ((null test-info) t)          ; No test clause
          ((setq cache (assoc test mailcap-viewer-test-cache))
           (cadr cache))
-         ((not test-info) t)           ; No test clause
          (t
           (setq
            result
diff --git a/test/lisp/net/mailcap-tests.el b/test/lisp/net/mailcap-tests.el
index e47ead98f42..175c3e88da9 100644
--- a/test/lisp/net/mailcap-tests.el
+++ b/test/lisp/net/mailcap-tests.el
@@ -537,5 +537,29 @@ help to verify the correct addition and merging of an 
entry."
                           ("minor" . ((viewer . "viewer")
                                       (edit . "edit")))))))))
 
+
+
+(ert-deftest mailcap-viewer-passes-test-w/o-test-returns-t ()
+  "A VIEWER-INFO without a test should return t with a valid viewer 
(Bug#65224)."
+
+  (should (equal t
+                 (let ((mailcap-viewer-test-cache)
+                       (viewer-info
+                        (list (cons 'viewer "viewer-w/o-test"))))
+                   (mailcap-viewer-passes-test viewer-info nil))))
+
+  (should (equal '(t t nil t)
+                 (let ((mailcap-viewer-test-cache)
+                       (viewer-infos
+                        (list
+                         (list (cons 'viewer "viewer-w/o-test"))
+                         (list (cons 'viewer "viewer-w/o-test"))
+                         (list (cons 'viewer "viewer-w/nil-test")
+                               (cons 'test    nil))
+                         (list (cons 'viewer "viewer-w/o-test"))
+                         )))
+                   (mapcar (lambda (vi)
+                             (mailcap-viewer-passes-test vi nil))
+                           viewer-infos)))))
 
 ;;; mailcap-tests.el ends here



reply via email to

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