emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/hyperbole 9f8f886f74 1/2: Combine key binding tests in


From: ELPA Syncer
Subject: [elpa] externals/hyperbole 9f8f886f74 1/2: Combine key binding tests in one defun (#149)
Date: Tue, 11 Jan 2022 16:57:50 -0500 (EST)

branch: externals/hyperbole
commit 9f8f886f74ef68e55edaa5464f48c580c83a2e96
Author: Mats Lidell <mats.lidell@lidells.se>
Commit: GitHub <noreply@github.com>

    Combine key binding tests in one defun (#149)
---
 ChangeLog               |  1 +
 test/hyperbole-tests.el | 55 +++++++++++++++++++++----------------------------
 2 files changed, 24 insertions(+), 32 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9813c56376..3eca9a5d96 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
 * test/hyperbole-tests.el (hyperbole-keymap-tests)
     (hyperbole-hkey-init-controls-tests)
     (hyperbole-global-key-binding-tests): Keybinding tests.
+    (hyperbole-key-bindings): Combine tests in one helper function.
 
 2022-01-09  Bob Weiner  <rsw@gnu.org>
 
diff --git a/test/hyperbole-tests.el b/test/hyperbole-tests.el
index 5713217f9b..1b19108250 100644
--- a/test/hyperbole-tests.el
+++ b/test/hyperbole-tests.el
@@ -22,48 +22,39 @@
 ;; function is that in the event of a failure, it makes the keybinding
 ;; that failed show up in ERT's output. -- Copied from edebug-tests.el
 
-(ert-deftest hyperbole-keymap-tests ()
-  "Verify all key bindings are set."
+(defun hyperbole-key-bindings (set)
+  "If SET is t verify keys are bound and if nil they are not bound."
   (let ((hyperbole-mode-map (make-sparse-keymap))
-        (hkey-init t))
+        (hkey-init set))
     (cl-letf (((symbol-function 'where-is-internal) (lambda (_func &optional 
_map) nil))
               ((symbol-function 'hyperb:window-system) (lambda () t)))
       (hkey-initialize)
-      (cl-macrolet ((verify-keybinding (key binding)
-                      `(should (eq (lookup-key hyperbole-mode-map ,key)
-                                   ,binding))))
-        (verify-keybinding "\C-c@" #'hycontrol-windows-grid)
-        (verify-keybinding "\C-c\C-m" #'hui-select-thing)
-        (verify-keybinding "\C-c\\" #'hycontrol-enable-windows-mode)
-        (verify-keybinding "\C-c/" #'hui-search-web)
-        (verify-keybinding "\C-c." #'hui-select-goto-matching-delimiter)
-        (mapc (lambda (key) (verify-keybinding key #'hkey-either))
+      (cl-macrolet ((verify-keybinding (verify key binding)
+                      `(if ,verify
+                           (should (eq (lookup-key hyperbole-mode-map ,key)
+                                       ,binding))
+                         (should-not (eq (lookup-key hyperbole-mode-map ,key)
+                                         ,binding)))))
+        (verify-keybinding set "\C-c@" #'hycontrol-windows-grid)
+        (verify-keybinding set "\C-c\C-m" #'hui-select-thing)
+        (verify-keybinding set "\C-c\\" #'hycontrol-enable-windows-mode)
+        (verify-keybinding set "\C-c/" #'hui-search-web)
+        (verify-keybinding set "\C-c." #'hui-select-goto-matching-delimiter)
+        (mapc (lambda (key) (verify-keybinding set key #'hkey-either))
               '("\M-\C-m"
                 ;; Todo: How to verify these bindings.
                 ;;"ESC RET" "M-RET" "ESC <return>" "M-<return>"
                 ))
-        (verify-keybinding "\C-hA" #'hkey-help)
-        (verify-keybinding "\M-o" #'hkey-operate)))))
+        (verify-keybinding set "\C-hA" #'hkey-help)
+        (verify-keybinding set "\M-o" #'hkey-operate)))))
+
+(ert-deftest hyperbole-keymap-tests ()
+  "Verify all key bindings are set."
+  (hyperbole-key-bindings t))
 
 (ert-deftest hyperbole-hkey-init-controls-tests ()
-  "Verify that `hkey-init` controls if keys are initialized."
-  (let ((hyperbole-mode-map (make-sparse-keymap))
-        (hkey-init nil))
-    (cl-letf (((symbol-function 'where-is-internal) (lambda (_func &optional 
_map) nil))
-              ((symbol-function 'hyperb:window-system) (lambda () t)))
-      (hkey-initialize)
-      (cl-macrolet ((verify-keybinding (key binding)
-                      `(should-not (eq (lookup-key hyperbole-mode-map ,key)
-                                       ,binding))))
-        (verify-keybinding "\C-c@" #'hycontrol-windows-grid)
-        (verify-keybinding "\C-c\C-m" #'hui-select-thing)
-        (verify-keybinding "\C-c\\" #'hycontrol-enable-windows-mode)
-        (verify-keybinding "\C-c/" #'hui-search-web)
-        (verify-keybinding "\C-c." #'hui-select-goto-matching-delimiter)
-        (mapc (lambda (key) (verify-keybinding key #'hkey-either))
-              '("\M-\C-m" "M-<return>" "M-RET" "ESC <return>" "ESC RET"))
-        (verify-keybinding "\C-hA" #'hkey-help)
-        (verify-keybinding "\M-o" #'hkey-operate)))))
+  "Verify all key bindings are set."
+  (hyperbole-key-bindings nil))
 
 (ert-deftest hyperbole-global-key-binding-tests ()
   "Verify the global keys are bound."



reply via email to

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