]> git.eshelyaron.com Git - emacs.git/commitdiff
Require seq in rmc.el
authorTino Calancha <tino.calancha@gmail.com>
Fri, 27 Oct 2017 11:21:26 +0000 (20:21 +0900)
committerTino Calancha <tino.calancha@gmail.com>
Fri, 27 Oct 2017 11:21:26 +0000 (20:21 +0900)
* lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
* test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.

lisp/emacs-lisp/rmc.el
test/lisp/emacs-lisp/rmc-tests.el [new file with mode: 0644]

index 0be6971992cee4b8b35aceb51b4326c6f060dfcf..ca11c596638a259e90c700f8481d0107f60a571f 100644 (file)
@@ -23,6 +23,8 @@
 
 ;;; Code:
 
+(require 'seq)
+
 ;;;###autoload
 (defun read-multiple-choice (prompt choices)
   "Ask user a multiple choice question.
diff --git a/test/lisp/emacs-lisp/rmc-tests.el b/test/lisp/emacs-lisp/rmc-tests.el
new file mode 100644 (file)
index 0000000..7ab79fd
--- /dev/null
@@ -0,0 +1,41 @@
+;;; rmc-tests.el --- Test suite for rmc.el  -*- lexical-binding: t -*-
+
+;; Copyright (C) 2017 Free Software Foundation, Inc.
+
+;; Author: Tino Calancha <tino.calancha@gmail.com>
+;; Keywords:
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;
+
+;;; Code:
+
+(require 'ert)
+(require 'rmc)
+(eval-when-compile (require 'cl-lib))
+
+
+(ert-deftest test-read-multiple-choice ()
+  (dolist (char '(?y ?n))
+    (cl-letf* (((symbol-function #'read-char) (lambda () char))
+               (str (if (eq char ?y) "yes" "no")))
+      (should (equal (list char str)
+                     (read-multiple-choice "Do it? " '((?y "yes") (?n "no"))))))))
+
+
+(provide 'rmc-tests)
+;;; rmc-tests.el ends here