diff options
Diffstat (limited to 'test/src')
| -rw-r--r-- | test/src/keymap-tests.el | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/src/keymap-tests.el b/test/src/keymap-tests.el index c605c3eb09d..950c741a6dd 100644 --- a/test/src/keymap-tests.el +++ b/test/src/keymap-tests.el | |||
| @@ -509,6 +509,33 @@ g .. h foo | |||
| 509 | ;; From the parent this time/ | 509 | ;; From the parent this time/ |
| 510 | (should (equal (keymap-lookup map "u") #'undo)))) | 510 | (should (equal (keymap-lookup map "u") #'undo)))) |
| 511 | 511 | ||
| 512 | (defun keymap-test--maps-for-posn (area string) | ||
| 513 | (current-active-maps | ||
| 514 | nil | ||
| 515 | ;; FIXME: This test would be better if this was a real position | ||
| 516 | ;; created by a real click. | ||
| 517 | `(,(selected-window) ,area (1 . 1) 0 (,string . 0) nil (1 . 1) nil (1 . 1) (1 . 1)))) | ||
| 518 | |||
| 519 | (ert-deftest keymap-test-keymaps-for-non-buffer-positions () | ||
| 520 | "`current-active-maps' with non-buffer positions. (bug#76620)" | ||
| 521 | (with-temp-buffer | ||
| 522 | (pop-to-buffer (current-buffer)) | ||
| 523 | (let ((keymap (make-sparse-keymap "keymap-at-point"))) | ||
| 524 | (insert (propertize "string" 'keymap keymap)) | ||
| 525 | (goto-char (point-min)) | ||
| 526 | (should (memq keymap (current-active-maps))) | ||
| 527 | (should-not (memq keymap (keymap-test--maps-for-posn 'mode-line nil))) | ||
| 528 | (should-not (memq keymap (keymap-test--maps-for-posn 'mode-line "s"))) | ||
| 529 | (should-not (memq keymap (keymap-test--maps-for-posn nil "s"))) | ||
| 530 | (should (memq keymap (keymap-test--maps-for-posn nil nil))) | ||
| 531 | (let* ((mode-line-keymap (make-sparse-keymap "keymap-in-mode-line")) | ||
| 532 | (s (propertize "string" 'keymap mode-line-keymap))) | ||
| 533 | ;; Respect `keymap' in the string clicked on. | ||
| 534 | (should-not (memq keymap (keymap-test--maps-for-posn nil s))) | ||
| 535 | (should-not (memq keymap (keymap-test--maps-for-posn 'mode-line s))) | ||
| 536 | (should (memq mode-line-keymap (keymap-test--maps-for-posn nil s))) | ||
| 537 | (should (memq mode-line-keymap (keymap-test--maps-for-posn 'mode-line s))))))) | ||
| 538 | |||
| 512 | (provide 'keymap-tests) | 539 | (provide 'keymap-tests) |
| 513 | 540 | ||
| 514 | ;;; keymap-tests.el ends here | 541 | ;;; keymap-tests.el ends here |