aboutsummaryrefslogtreecommitdiff
path: root/tests/test-signel-input-preservation.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-14 01:12:21 -0500
committerCraig Jennings <c@cjennings.net>2026-07-14 01:12:21 -0500
commita9736bcf1f1d683656d7222bdda26c1a7ef73986 (patch)
treede366569e3922a036bddc040eda1d47b49940255 /tests/test-signel-input-preservation.el
parent42664cd1097a7bcea5de629bbddb3a58eadcdb57 (diff)
downloaddotemacs-a9736bcf1f1d683656d7222bdda26c1a7ef73986.tar.gz
dotemacs-a9736bcf1f1d683656d7222bdda26c1a7ef73986.zip
refactor(signal): retire the in-Emacs signel client to the archive
Agents drive Signal via signal-cli and signal-mcp, so the interactive client earns no keep. I moved signal-config.el and its seven test files to archive/ per the pasture convention, dropped the require from init.el, removed the dashboard's Signal launcher (row sizes now 5 4 3 2, tests updated), and unregistered the C-; M prefix from the running daemon. The ~/code/signel fork repo is untouched. The spec record stays IMPLEMENTED with a retirement history line, and the messenger-unification draft carries a premise-shift note.
Diffstat (limited to 'tests/test-signel-input-preservation.el')
-rw-r--r--tests/test-signel-input-preservation.el68
1 files changed, 0 insertions, 68 deletions
diff --git a/tests/test-signel-input-preservation.el b/tests/test-signel-input-preservation.el
deleted file mode 100644
index e8ce4ddb..00000000
--- a/tests/test-signel-input-preservation.el
+++ /dev/null
@@ -1,68 +0,0 @@
-;;; test-signel-input-preservation.el --- Regression for signel #2 input clobber -*- lexical-binding: t; -*-
-
-;;; Commentary:
-;; signel-chat-mode buffers have an editable prompt area starting at
-;; `signel--input-marker'. Before this fix, both `signel--insert-msg' (the
-;; receive path) and `signel--insert-system-msg' (the RPC-error path)
-;; called `(delete-region (point) (point-max))' to clear the old prompt
-;; before redrawing it, which destroyed any text the user was mid-typing.
-;;
-;; These tests lock the preservation contract: a small `signel--pending-input'
-;; helper captures the in-progress input from the marker to `point-max', and
-;; both inserters restore it after the freshly drawn prompt. The chat-mode
-;; buffer is constructed in a temp buffer; `signel--insert-msg' is steered
-;; to it via a stub on `signel--get-buffer'.
-
-;;; Code:
-
-(require 'ert)
-(require 'cl-lib)
-
-(eval-and-compile
- (add-to-list 'load-path (expand-file-name "~/code/signel")))
-(require 'signel)
-
-(defmacro test-signel--with-chat-buffer (&rest body)
- "Set up a temp signel-chat-mode buffer with prompt drawn and run BODY."
- (declare (indent 0))
- `(with-temp-buffer
- (signel-chat-mode)
- (setq signel--chat-id "+15555550100")
- (signel--draw-prompt)
- ,@body))
-
-(ert-deftest test-signel-input-pending-returns-typed-text ()
- "Normal: with text after the prompt marker, `signel--pending-input'
-returns the captured text."
- (test-signel--with-chat-buffer
- (insert "halfwritten")
- (should (equal (signel--pending-input) "halfwritten"))))
-
-(ert-deftest test-signel-input-pending-returns-nil-when-empty ()
- "Boundary: an empty input area returns nil so callers don't restore an
-empty string after the prompt."
- (test-signel--with-chat-buffer
- (should-not (signel--pending-input))))
-
-(ert-deftest test-signel-input-system-msg-preserves-pending-input ()
- "Regression for #2: `signel--insert-system-msg' redraws the prompt
-without clobbering text the user was mid-typing."
- (test-signel--with-chat-buffer
- (insert "halfwritten")
- (signel--insert-system-msg "An error happened" 'signel-error-face)
- (should (string-match-p "An error happened" (buffer-string)))
- (should (equal (signel--pending-input) "halfwritten"))))
-
-(ert-deftest test-signel-input-msg-preserves-pending-input ()
- "Regression for #2: `signel--insert-msg' (the receive path) redraws the
-prompt without clobbering the user's in-progress input."
- (test-signel--with-chat-buffer
- (insert "halfwritten")
- (cl-letf (((symbol-function 'signel--get-buffer)
- (lambda (_) (current-buffer))))
- (signel--insert-msg "+15555550100" "Alice" "Hi there" nil nil nil))
- (should (string-match-p "Hi there" (buffer-string)))
- (should (equal (signel--pending-input) "halfwritten"))))
-
-(provide 'test-signel-input-preservation)
-;;; test-signel-input-preservation.el ends here