]> git.eshelyaron.com Git - emacs.git/commitdiff
Add test for lm-website
authorStefan Kangas <stefan@marxist.se>
Sun, 26 Sep 2021 12:13:03 +0000 (14:13 +0200)
committerStefan Kangas <stefan@marxist.se>
Sun, 26 Sep 2021 12:55:19 +0000 (14:55 +0200)
* lisp/emacs-lisp/lisp-mnt.el (lm-website): Use rx.
* test/lisp/emacs-lisp/lisp-mnt-tests.el
(lm--tests-lm-website): New test.

lisp/emacs-lisp/lisp-mnt.el
test/lisp/emacs-lisp/lisp-mnt-tests.el

index b27c7e78a8824b1cf3589693860b856a14819bbf..96ac054a7d78bcc8361535f18ae2fb6978a5f3bb 100644 (file)
@@ -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
 
index 84cdc7205f2a07b0e98aa2df84e9e2d68242a34a..d77804fbe60a8ab0310d84ec88c9f39a5bbc9930 100644 (file)
                  '(("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