Use lexical-binding in epg-config.el and add tests
* lisp/epg-config.el: Use lexical-binding. (epg-find-configuration): Improve error message. * test/lisp/epg-config-tests.el: New file.
This commit is contained in:
parent
1f790dfe90
commit
4582c96828
2 changed files with 51 additions and 2 deletions
|
|
@ -1,4 +1,4 @@
|
|||
;;; epg-config.el --- configuration of the EasyPG Library
|
||||
;;; epg-config.el --- configuration of the EasyPG Library -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2006-2021 Free Software Foundation, Inc.
|
||||
|
||||
|
|
@ -21,6 +21,8 @@
|
|||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
;;; Prelude
|
||||
|
||||
|
|
@ -157,7 +159,7 @@ version requirement is met."
|
|||
(setq program-alist epg-config--program-alist))
|
||||
(let ((entry (assq protocol program-alist)))
|
||||
(unless entry
|
||||
(error "Unknown protocol %S" protocol))
|
||||
(error "Unknown protocol `%S'" protocol))
|
||||
(cl-destructuring-bind (symbol . alist)
|
||||
(cdr entry)
|
||||
(let ((constructor
|
||||
|
|
|
|||
47
test/lisp/epg-config-tests.el
Normal file
47
test/lisp/epg-config-tests.el
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
;;; epg-config-tests.el --- Test suite for epg.el -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2021 Free Software Foundation, Inc.
|
||||
|
||||
;; 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/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'ert)
|
||||
(require 'epg-config)
|
||||
|
||||
(ert-deftest epg-config-test-epg-find-configuration ()
|
||||
(skip-unless (executable-find "gpg2"))
|
||||
(should (assq 'version (epg-find-configuration 'OpenPGP))))
|
||||
|
||||
(ert-deftest epg-config-test-epg-find-configuration/unknown-protocol ()
|
||||
(should-error (epg-find-configuration 'does-not-exist)))
|
||||
|
||||
(ert-deftest epg-config-test-epg-check-configuration ()
|
||||
(should (epg-check-configuration '((version . "1.0")) "0.9"))
|
||||
(should (epg-check-configuration '((version . "1.0")) "1.0"))
|
||||
(should-error (epg-check-configuration '((version . "1.0")) "1.1"))
|
||||
(should-error (epg-check-configuration '((version . "1.0")) 'foo))
|
||||
(should-error (epg-check-configuration '((version . "1.0")) "foo")))
|
||||
|
||||
(ert-deftest epg-config-test-epg-required-version-p ()
|
||||
(skip-unless (executable-find "gpg2"))
|
||||
(should (epg-required-version-p 'OpenPGP "1.0")))
|
||||
|
||||
(provide 'epg-config-tests)
|
||||
|
||||
;;; epg-config-tests.el ends here
|
||||
Loading…
Add table
Reference in a new issue