]> git.eshelyaron.com Git - emacs.git/commitdiff
Convert ffap comments to tests
authorStefan Kangas <stefan@marxist.se>
Thu, 28 Jul 2022 12:38:24 +0000 (14:38 +0200)
committerStefan Kangas <stefan@marxist.se>
Thu, 28 Jul 2022 13:07:34 +0000 (15:07 +0200)
* test/lisp/ffap-tests.el (ffap-file-remote-p, ffap-machine-p):
New tests.

lisp/ffap.el
test/lisp/ffap-tests.el

index dc286db130d80104d101a38424129d32967dcd1e..ffed9f9759d1f214a0ca7882907dd650b873f0a6 100644 (file)
@@ -427,13 +427,6 @@ Returned values:
  t       means that HOST answered.
 `accept' means the relevant variable told us to accept.
 \"mesg\"   means HOST exists, but does not respond for some reason."
-  ;; Try some (Emory local):
-  ;; (ffap-machine-p "ftp" nil nil 'ping)
-  ;; (ffap-machine-p "nonesuch" nil nil 'ping)
-  ;; (ffap-machine-p "ftp.mathcs.emory.edu" nil nil 'ping)
-  ;; (ffap-machine-p "mathcs" 5678 nil 'ping)
-  ;; (ffap-machine-p "foo.bonk" nil nil 'ping)
-  ;; (ffap-machine-p "foo.bonk.com" nil nil 'ping)
   (if (or (string-match "[^-[:alnum:].]" host) ; Invalid chars (?)
          (not (string-match "[^0-9]" host))) ; 1: a number? 2: quick reject
       nil
@@ -530,9 +523,6 @@ The optional NOMODIFY argument suppresses the extra search."
 
 (defun ffap-file-remote-p (filename)
   "If FILENAME looks remote, return it (maybe slightly improved)."
-  ;; (ffap-file-remote-p "/user@foo.bar.com:/pub")
-  ;; (ffap-file-remote-p "/cssun.mathcs.emory.edu://dir")
-  ;; (ffap-file-remote-p "/ffap.el:80")
   (or (and ffap-ftp-regexp
           (string-match ffap-ftp-regexp filename)
           ;; Convert "/host.com://dir" to "/host:/dir", to handle a dying
@@ -573,7 +563,7 @@ Looks at `ffap-ftp-default-user', returns \"\" for \"localhost\"."
    ;; www.ncsa.uiuc.edu
    ((and (string-match "\\`w\\(ww\\|eb\\)[-.]" mach))
     (concat "http://" mach "/"))
-   ;; More cases?  Maybe "telnet:" for archie?
+   ;; More cases?
    (ffap-ftp-regexp (ffap-host-to-filename mach))
    ))
 
index a11af9507efdbe0f5b2f5f6fc230a2273104ef00..076d82564213479072f8521f5c378e65e8c4765a 100644 (file)
            (ffap-replace-file-component "/ftp:who@foo.com:/whatever" "/new")
            "/ftp:who@foo.com:/new")))
 
+(ert-deftest ffap-file-remote-p ()
+  (dolist (test '(("/user@foo.bar.com:/pub" .
+                   "/user@foo.bar.com:/pub")
+                  ("/cssun.mathcs.emory.edu://dir" .
+                   "/cssun.mathcs.emory.edu:/dir")
+                  ("/ffap.el:80" .
+                   "/ffap.el:80")))
+    (let ((A (car test))
+          (B (cdr test)))
+      (should (equal (ffap-file-remote-p A) B)))))
+
+(ert-deftest ffap-machine-p ()
+  (should-not (ffap-machine-p "ftp"))
+  (should-not (ffap-machine-p "nonesuch"))
+  (should (eq (ffap-machine-p "ftp.mathcs.emory.edu") 'accept))
+  (should-not (ffap-machine-p "mathcs" 5678))
+  (should-not (ffap-machine-p "foo.bonk"))
+  (should (eq (ffap-machine-p "foo.bonk.com") 'accept)))
+
 (ert-deftest ffap-tests-25243 ()
   "Test for https://debbugs.gnu.org/25243 ."
   (ert-with-temp-file file