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

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

[elpa] externals/compat fcb99b1b1e 3/3: Add test for keymap-substitute


From: ELPA Syncer
Subject: [elpa] externals/compat fcb99b1b1e 3/3: Add test for keymap-substitute
Date: Mon, 16 Jan 2023 10:57:29 -0500 (EST)

branch: externals/compat
commit fcb99b1b1e910565baccafed7dc4d1aacdc993b7
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    Add test for keymap-substitute
---
 compat-29.el    |  2 +-
 compat-tests.el | 20 +++++++++++++++-----
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/compat-29.el b/compat-29.el
index a01d466e15..adca2179e1 100644
--- a/compat-29.el
+++ b/compat-29.el
@@ -685,7 +685,7 @@ NOTE: The compatibility version is not a command."
   (when (current-local-map)
     (keymap-unset (current-local-map) key remove)))
 
-(compat-defun keymap-substitute (keymap olddef newdef &optional oldmap prefix) 
;; <UNTESTED>
+(compat-defun keymap-substitute (keymap olddef newdef &optional oldmap prefix) 
;; <compat-tests:keymap-substitute>
   "Replace OLDDEF with NEWDEF for any keys in KEYMAP now defined as OLDDEF.
 In other words, OLDDEF is replaced with NEWDEF wherever it appears.
 Alternatively, if optional fourth argument OLDMAP is specified, we redefine
diff --git a/compat-tests.el b/compat-tests.el
index 0f520c8ee1..793eeed5a4 100644
--- a/compat-tests.el
+++ b/compat-tests.el
@@ -426,13 +426,23 @@
 
 (ert-deftest keymap-set-after ()
   (let ((map (make-sparse-keymap)))
-    (define-key-after map "d" 'd "a")
-    (define-key-after map "a" 'a)
-    (define-key-after map "b" 'b)
-    (define-key-after map "c" 'c)
-    (define-key-after map "d" 'd "b") ;; TODO the after argument has no 
effect?!
+    (keymap-set-after map "d" 'd "a")
+    (keymap-set-after map "a" 'a)
+    (keymap-set-after map "b" 'b)
+    (keymap-set-after map "c" 'c)
+    (keymap-set-after map "d" 'd "b") ;; TODO the after argument has no 
effect?!
     (should-equal map '(keymap (?a . a) (?b . b) (?c . c) (?d . d)))))
 
+(ert-deftest keymap-substitute ()
+  (let ((map (define-keymap
+               "C-x C-f" #'find-file
+               "s-f" #'find-file
+               "C-x b" #'switch-to-buffer)))
+    (keymap-substitute map #'find-file 'ffap)
+    (should-equal (keymap-lookup map "C-x b") #'switch-to-buffer)
+    (should-equal (keymap-lookup map "C-x C-f") 'ffap)
+    (should-equal (keymap-lookup map "s-f") 'ffap)))
+
 (ert-deftest key-parse ()
   (should-equal (key-parse "f") [?f])
   (should-equal (key-parse "X") [?X])



reply via email to

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