diff options
author | Stefan Kangas <stefan@marxist.se> | 2021-09-26 14:13:03 +0200 |
---|---|---|
committer | Stefan Kangas <stefan@marxist.se> | 2021-09-26 14:55:19 +0200 |
commit | a0d5de4fb9de82dfda741c5cf39d87cee955cc46 (patch) | |
tree | 7b102a9c6a377284dd3b26eddbcfdcf2593706a1 | |
parent | 6e1de14e51f692684ccaffb7113ca0e6c135ba41 (diff) | |
download | emacs-a0d5de4fb9de82dfda741c5cf39d87cee955cc46.tar.gz |
Add test for lm-website
* lisp/emacs-lisp/lisp-mnt.el (lm-website): Use rx.
* test/lisp/emacs-lisp/lisp-mnt-tests.el
(lm--tests-lm-website): New test.
-rw-r--r-- | lisp/emacs-lisp/lisp-mnt.el | 6 | ||||
-rw-r--r-- | test/lisp/emacs-lisp/lisp-mnt-tests.el | 8 |
2 files changed, 11 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el index b27c7e78a88..96ac054a7d7 100644 --- a/lisp/emacs-lisp/lisp-mnt.el +++ b/lisp/emacs-lisp/lisp-mnt.el @@ -501,9 +501,9 @@ absent, return nil." (defun lm-website (&optional file) "Return the website in file FILE, or current buffer if FILE is nil." (let ((page (lm-with-file file - (lm-header "\\(?:x-\\)?\\(?:url\\|homepage\\)")))) - (if (and page (string-match "^<.+>$" page)) - (substring page 1 -1) + (lm-header (rx (? "x-") (or "url" "homepage")))))) + (if (and page (string-match (rx bol "<" (+ nonl) ">" eol) page)) + (substring page 1 -1) page))) (defalias 'lm-homepage 'lm-website) ; for backwards-compatibility diff --git a/test/lisp/emacs-lisp/lisp-mnt-tests.el b/test/lisp/emacs-lisp/lisp-mnt-tests.el index 84cdc7205f2..d77804fbe60 100644 --- a/test/lisp/emacs-lisp/lisp-mnt-tests.el +++ b/test/lisp/emacs-lisp/lisp-mnt-tests.el @@ -32,5 +32,13 @@ '(("Bob Weiner" . "rsw@gnu.org") ("Mats Lidell" . "matsl@gnu.org"))))) +(ert-deftest lm--tests-lm-website () + (with-temp-buffer + (insert ";; URL: https://example.org/foo") + (should (string= (lm-website) "https://example.org/foo"))) + (with-temp-buffer + (insert ";; X-URL: <https://example.org/foo>") + (should (string= (lm-website) "https://example.org/foo")))) + (provide 'lisp-mnt-tests) ;;; lisp-mnt-tests.el ends here |