aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasilij Schneidermann <mail@vasilij.de>2017-12-07 08:14:43 +0100
committerGitHub <noreply@github.com>2017-12-07 08:14:43 +0100
commitafa066c0454bea381aa1eb989fbed69e7084ae3c (patch)
treefb851bed0b7a1e9a1d47720a0094841313d13715
parent1bba6116f3b29488a87503693e70a0bd2b5eaebe (diff)
parenta21de611e27284699127f76a1652038f6d05cdec (diff)
Merge pull request #991 from justbur/evil-define-key-tests
Add test for evil-define-key 'global and 'local maps
-rw-r--r--evil-tests.el27
1 files changed, 27 insertions, 0 deletions
diff --git a/evil-tests.el b/evil-tests.el
index 030c51f..ba22416 100644
--- a/evil-tests.el
+++ b/evil-tests.el
@@ -373,6 +373,33 @@ when exiting Operator-Pending state")
(should (eq (lookup-key aux "f") 'foo))
(should (eq (lookup-key aux "b") 'bar)))))
+(ert-deftest evil-test-global-local-map-binding ()
+ "Test use of `evil-define-key' for binding in global maps."
+ :tags '(evil state)
+ (let ((evil-normal-state-map (copy-keymap evil-normal-state-map))
+ (evil-normal-state-local-map
+ (when (keymapp evil-normal-state-local-map)
+ (copy-keymap evil-normal-state-local-map)))
+ (global-map (copy-keymap global-map))
+ (orig-local-map
+ (when (keymapp (current-local-map))
+ (copy-keymap (current-local-map))))
+ (map (or (current-local-map) (make-sparse-keymap))))
+ (use-local-map map)
+ (ert-info ("Bind in a global state map")
+ (evil-define-key 'normal 'global "f" 'foo)
+ (should (eq (lookup-key evil-normal-state-map "f") 'foo)))
+ (ert-info ("Bind in a local state map")
+ (evil-define-key 'normal 'local "f" 'foo)
+ (should (eq (lookup-key evil-normal-state-local-map "f") 'foo)))
+ (ert-info ("Bind in the global map")
+ (evil-define-key nil 'global "b" 'bar)
+ (should (eq (lookup-key global-map "b") 'bar)))
+ (ert-info ("Bind in the local map")
+ (evil-define-key nil 'local "b" 'bar)
+ (should (eq (lookup-key (current-local-map) "b") 'bar)))
+ (use-local-map orig-local-map)))
+
;;; Type system
(ert-deftest evil-test-exclusive-type ()