aboutsummaryrefslogtreecommitdiffstats
path: root/test/src
diff options
context:
space:
mode:
Diffstat (limited to 'test/src')
-rw-r--r--test/src/keymap-tests.el18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/src/keymap-tests.el b/test/src/keymap-tests.el
index aa710519825..29220c95395 100644
--- a/test/src/keymap-tests.el
+++ b/test/src/keymap-tests.el
@@ -475,6 +475,24 @@ g .. h foo
475 "a" #'next-line 475 "a" #'next-line
476 "a" #'previous-line))) 476 "a" #'previous-line)))
477 477
478(ert-deftest keymap-unset-test-remove-and-inheritance ()
479 "Check various behaviors of keymap-unset. (Bug#62207)"
480 (let ((map (make-sparse-keymap))
481 (parent (make-sparse-keymap)))
482 (set-keymap-parent map parent)
483 ;; Removing an unset key should not add a key.
484 (keymap-set parent "u" #'undo)
485 (keymap-unset map "u" t)
486 (should (equal (keymap-lookup map "u") #'undo))
487 ;; Non-removed child bindings should shadow parent
488 (keymap-set map "u" #'identity)
489 (keymap-unset map "u")
490 ;; From the child, but nil.
491 (should-not (keymap-lookup map "u"))
492 (keymap-unset map "u" t)
493 ;; From the parent this time/
494 (should (equal (keymap-lookup map "u") #'undo))))
495
478(provide 'keymap-tests) 496(provide 'keymap-tests)
479 497
480;;; keymap-tests.el ends here 498;;; keymap-tests.el ends here