emacs-diffs
[Top][All Lists]
Advanced

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

master 039ffaf: Use lexical-binding in netrc.el and add tests


From: Stefan Kangas
Subject: master 039ffaf: Use lexical-binding in netrc.el and add tests
Date: Tue, 27 Oct 2020 22:25:23 -0400 (EDT)

branch: master
commit 039ffaf69f87b4b7664222f7649209bc22fc6309
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>

    Use lexical-binding in netrc.el and add tests
    
    * lisp/net/netrc.el: Use lexical-binding.
    (netrc-file): Remove redundant :group arg.
    * test/lisp/net/netrc-resources/authinfo:
    * test/lisp/net/netrc-resources/services:
    * test/lisp/net/netrc-tests.el: New files.
---
 lisp/net/netrc.el                      |  6 ++--
 test/lisp/net/netrc-resources/authinfo |  2 ++
 test/lisp/net/netrc-resources/services |  6 ++++
 test/lisp/net/netrc-tests.el           | 53 ++++++++++++++++++++++++++++++++++
 4 files changed, 64 insertions(+), 3 deletions(-)

diff --git a/lisp/net/netrc.el b/lisp/net/netrc.el
index 3c7f243..01db97c 100644
--- a/lisp/net/netrc.el
+++ b/lisp/net/netrc.el
@@ -1,4 +1,5 @@
-;;; netrc.el --- .netrc parsing functionality
+;;; netrc.el --- .netrc parsing functionality  -*- lexical-binding: t -*-
+
 ;; Copyright (C) 1996-2020 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -40,8 +41,7 @@
 (defcustom netrc-file "~/.authinfo"
   "File where user credentials are stored."
   :version "24.1"
-  :type 'file
-  :group 'netrc)
+  :type 'file)
 
 (defvar netrc-services-file "/etc/services"
   "The name of the services file.")
diff --git a/test/lisp/net/netrc-resources/authinfo 
b/test/lisp/net/netrc-resources/authinfo
new file mode 100644
index 0000000..88aa171
--- /dev/null
+++ b/test/lisp/net/netrc-resources/authinfo
@@ -0,0 +1,2 @@
+machine imap.example.org login jrh@example.org password "*foobar*"
+machine ftp.example.org login jrh password "*baz*"
diff --git a/test/lisp/net/netrc-resources/services 
b/test/lisp/net/netrc-resources/services
new file mode 100644
index 0000000..fd8a034
--- /dev/null
+++ b/test/lisp/net/netrc-resources/services
@@ -0,0 +1,6 @@
+tcpmux         1/tcp                           # TCP port service multiplexer
+smtp           25/tcp          mail
+http           80/tcp          www             # WorldWideWeb HTTP
+kerberos       88/tcp          kerberos5 krb5 kerberos-sec     # Kerberos v5
+kerberos       88/udp          kerberos5 krb5 kerberos-sec     # Kerberos v5
+rtmp           1/ddp                   # Routing Table Maintenance Protocol
diff --git a/test/lisp/net/netrc-tests.el b/test/lisp/net/netrc-tests.el
new file mode 100644
index 0000000..2919439
--- /dev/null
+++ b/test/lisp/net/netrc-tests.el
@@ -0,0 +1,53 @@
+;;; netrc-tests.el --- Tests for netrc.el  -*- lexical-binding:t -*-
+
+;; Copyright (C) 2020 Free Software Foundation, Inc.
+
+;; Author: Stefan Kangas <stefankangas@gmail.com>
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'ert)
+(require 'ert-x)
+(require 'netrc)
+
+(ert-deftest test-netrc-parse-services ()
+  (let ((netrc-services-file (ert-resource-file "services")))
+    (should (equal (netrc-parse-services)
+                   '(("tcpmux" 1 tcp)
+                     ("smtp" 25 tcp)
+                     ("http" 80 tcp)
+                     ("kerberos" 88 tcp)
+                     ("kerberos" 88 udp)
+                     ("rtmp" 1 ddp))))))
+
+(ert-deftest test-netrc-find-service-name ()
+  (let ((netrc-services-file (ert-resource-file "services")))
+    (should (equal (netrc-find-service-name 25) "smtp"))
+    (should (equal (netrc-find-service-name 88 'udp) "kerberos"))
+    (should-not (netrc-find-service-name 12345))))
+
+(ert-deftest test-netrc-credentials ()
+  (let ((netrc-file (ert-resource-file "authinfo")))
+    (should (equal (netrc-credentials "imap.example.org")
+                   '("jrh@example.org" "*foobar*")))
+    (should (equal (netrc-credentials "ftp.example.org")
+                   '("jrh" "*baz*")))))
+
+(provide 'netrc-tests)
+
+;;; netrc-tests.el ends here



reply via email to

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