aboutsummaryrefslogtreecommitdiff
path: root/tests/test-ui-config--buffer-cursor-state.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-15 22:38:46 -0500
committerCraig Jennings <c@cjennings.net>2026-06-15 22:39:18 -0500
commit50d1b1c0a8d026d3b74d36f2e59b2471db728754 (patch)
tree8e4653423bb9507e44ddd9147e8fef45973b861e /tests/test-ui-config--buffer-cursor-state.el
parent35c0d683574f1d705f8dfffd260baa626ddbf116 (diff)
downloaddotemacs-50d1b1c0a8d026d3b74d36f2e59b2471db728754.tar.gz
dotemacs-50d1b1c0a8d026d3b74d36f2e59b2471db728754.zip
refactor(ui-config): drop buffer-state cursor coloring
A cursor that changed color by buffer state was confusing. Remove cj/set-cursor-color-according-to-mode, its two cache defvars, and the post-command / server-after-make-frame hook registrations; the cursor now uses the theme cursor face. The cj/buffer-status-state / cj/buffer-status-color classifier stays in user-constants.el for the modeline buffer-name indicator. Delete the cursor-function integration test; keep the classifier tests.
Diffstat (limited to 'tests/test-ui-config--buffer-cursor-state.el')
-rw-r--r--tests/test-ui-config--buffer-cursor-state.el35
1 files changed, 3 insertions, 32 deletions
diff --git a/tests/test-ui-config--buffer-cursor-state.el b/tests/test-ui-config--buffer-cursor-state.el
index 76b74c97f..99cfc4b9d 100644
--- a/tests/test-ui-config--buffer-cursor-state.el
+++ b/tests/test-ui-config--buffer-cursor-state.el
@@ -1,9 +1,9 @@
;;; test-ui-config--buffer-cursor-state.el --- Tests for cursor-state classification -*- lexical-binding: t; -*-
;;; Commentary:
-;; `cj/buffer-status-state' picks the buffer-state symbol that
-;; `cj/set-cursor-color-according-to-mode' maps to a cursor color via
-;; `cj/buffer-status-colors'. The subtle case: a live ghostel terminal is
+;; `cj/buffer-status-state' picks the buffer-state symbol the modeline
+;; buffer-name indicator maps to a face via `cj/buffer-status-color'. The
+;; subtle case: a live ghostel terminal is
;; technically `buffer-read-only' but the user types into it -- keystrokes go
;; to the terminal process -- so it must report a writeable state, not
;; `read-only'. ghostel's `copy' / `emacs' input modes are the exception:
@@ -70,34 +70,5 @@ the user navigates, so `read-only' (orange) is kept."
(should (eq (cj/buffer-status-state) 'read-only)))
(when (buffer-live-p buf) (kill-buffer buf)))))
-(ert-deftest test-ui-config-set-cursor-color-live-ghostel-uses-writeable-color ()
- "Normal: in a live ghostel terminal the cursor-color hook applies the writeable
-\(success) color, not the read-only (error) color, even though the buffer is
-read-only. `error' and `success' are given known foregrounds so the resolver
-returns concrete colors; `display-graphic-p' is stubbed t so the body runs in
-batch (the live function no-ops on TTY frames by design)."
- (let ((buf (cj/test--make-fake-ghostel-buffer "*test-ghostel-cursor-color*"))
- (orig-err (face-attribute 'error :foreground nil t))
- (orig-suc (face-attribute 'success :foreground nil t))
- (applied 'unset))
- (unwind-protect
- (progn
- (set-face-foreground 'error "#ff0000")
- (set-face-foreground 'success "#00ff00")
- (with-current-buffer buf
- (setq buffer-read-only t)
- (setq-local ghostel--input-mode 'semi-char)
- (let ((cj/-cursor-last-color nil)
- (cj/-cursor-last-buffer nil))
- (cl-letf (((symbol-function 'display-graphic-p) (lambda () t))
- ((symbol-function 'set-cursor-color)
- (lambda (c) (setq applied c))))
- (cj/set-cursor-color-according-to-mode))))
- (should (equal applied "#00ff00"))
- (should-not (equal applied "#ff0000")))
- (when (stringp orig-err) (set-face-foreground 'error orig-err))
- (when (stringp orig-suc) (set-face-foreground 'success orig-suc))
- (when (buffer-live-p buf) (kill-buffer buf)))))
-
(provide 'test-ui-config--buffer-cursor-state)
;;; test-ui-config--buffer-cursor-state.el ends here