From 811ef5f697e165c58c54b3839672c920336da947 Mon Sep 17 00:00:00 2001 From: Felix Dietrich Date: Sun, 6 Aug 2023 06:01:24 +0200 Subject: [PATCH] =?UTF-8?q?Make=20=E2=80=98mailcap-viewer-passes-test?= =?UTF-8?q?=E2=80=99=20return=20t=20for=20viewers=20without=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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#) * 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 | 25 +++++++++++++++++++++++++ 2 files changed, 26 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..fa72d1bd285 100644 --- a/test/lisp/net/mailcap-tests.el +++ b/test/lisp/net/mailcap-tests.el @@ -537,5 +537,30 @@ 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." + + (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 -- 2.40.1