diff options
author | Robert Pluim <rpluim@gmail.com> | 2023-03-18 10:33:39 +0100 |
---|---|---|
committer | Robert Pluim <rpluim@gmail.com> | 2023-03-18 10:37:15 +0100 |
commit | aedb9e3ec37512e4e2c1a6066613b2b5fcaf2aa6 (patch) | |
tree | e88035d06092592384185daf1c0222969f14f9a6 | |
parent | faee8d507387f72e61fa809326e12703b4ba20b2 (diff) | |
download | emacs-aedb9e3ec37512e4e2c1a6066613b2b5fcaf2aa6.tar.gz |
Add tests for Bug#62207
* test/src/keymap-tests.el (keymap-unset-test-remove-and-inheritance):
New test.
-rw-r--r-- | test/src/keymap-tests.el | 18 |
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 "a" #'next-line "a" #'previous-line))) +(ert-deftest keymap-unset-test-remove-and-inheritance () + "Check various behaviors of keymap-unset. (Bug#62207)" + (let ((map (make-sparse-keymap)) + (parent (make-sparse-keymap))) + (set-keymap-parent map parent) + ;; Removing an unset key should not add a key. + (keymap-set parent "u" #'undo) + (keymap-unset map "u" t) + (should (equal (keymap-lookup map "u") #'undo)) + ;; Non-removed child bindings should shadow parent + (keymap-set map "u" #'identity) + (keymap-unset map "u") + ;; From the child, but nil. + (should-not (keymap-lookup map "u")) + (keymap-unset map "u" t) + ;; From the parent this time/ + (should (equal (keymap-lookup map "u") #'undo)))) + (provide 'keymap-tests) ;;; keymap-tests.el ends here |