aboutsummaryrefslogtreecommitdiff
path: root/tests/test-ai-vterm--display-saved.el
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-ai-vterm--display-saved.el')
-rw-r--r--tests/test-ai-vterm--display-saved.el36
1 files changed, 16 insertions, 20 deletions
diff --git a/tests/test-ai-vterm--display-saved.el b/tests/test-ai-vterm--display-saved.el
index aa0dc5ee..2b2bad09 100644
--- a/tests/test-ai-vterm--display-saved.el
+++ b/tests/test-ai-vterm--display-saved.el
@@ -16,7 +16,9 @@
(require 'cl-lib)
(add-to-list 'load-path (expand-file-name "modules" user-emacs-directory))
+(add-to-list 'load-path (expand-file-name "tests" user-emacs-directory))
(require 'ai-vterm)
+(require 'testutil-vterm-buffers)
(ert-deftest test-ai-vterm--display-saved-uses-defaults-when-state-nil ()
"Normal: nil state -> direction=rightmost, size=cj/ai-vterm-window-width.
@@ -94,12 +96,6 @@ which window is selected."
(cj/--ai-vterm-display-saved 'sentinel-buffer nil))
(should (eq received-buf 'sentinel-buffer))))
-(defun test-ai-vterm--display-saved-cleanup ()
- "Kill any leftover claude-prefixed buffers."
- (dolist (b (buffer-list))
- (when (string-prefix-p "claude [" (buffer-name b))
- (kill-buffer b))))
-
(ert-deftest test-ai-vterm--display-saved-3window-roundtrip-preserves-body-width ()
"Regression: capture+delete+display in a 3-window layout preserves body-width.
@@ -109,7 +105,7 @@ the new claude lands at a different position than the captured one
of the right divider. `window-body-width' is divider-independent
and is what the user actually sees, so the assertion locks down
the body match."
- (test-ai-vterm--display-saved-cleanup)
+ (cj/test--kill-claude-buffers)
(let ((claude-name "claude [3win-roundtrip]")
(left-name "*test-3win-left*")
(right-name "*test-3win-right*"))
@@ -144,11 +140,11 @@ the body match."
(should (eq captured-direction 'right)))))))
(when (get-buffer left-name) (kill-buffer left-name))
(when (get-buffer right-name) (kill-buffer right-name))
- (test-ai-vterm--display-saved-cleanup))))
+ (cj/test--kill-claude-buffers))))
(ert-deftest test-ai-vterm--display-saved-3window-claude-rightmost-roundtrip ()
"Round-trip when claude is the rightmost window (no right divider)."
- (test-ai-vterm--display-saved-cleanup)
+ (cj/test--kill-claude-buffers)
(let ((claude-name "claude [rightmost]")
(left-name "*test-rm-left*")
(mid-name "*test-rm-mid*"))
@@ -173,11 +169,11 @@ the body match."
(should (= (window-body-width new-win) captured-size)))))))
(when (get-buffer left-name) (kill-buffer left-name))
(when (get-buffer mid-name) (kill-buffer mid-name))
- (test-ai-vterm--display-saved-cleanup))))
+ (cj/test--kill-claude-buffers))))
(ert-deftest test-ai-vterm--display-saved-3window-after-mouse-resize ()
"Round-trip after a deliberate mid-window resize (mimics mouse-drag)."
- (test-ai-vterm--display-saved-cleanup)
+ (cj/test--kill-claude-buffers)
(let ((claude-name "claude [mouse-resize]")
(left-name "*test-mr-left*")
(right-name "*test-mr-right*"))
@@ -206,11 +202,11 @@ the body match."
(should (= (window-body-width new-win) captured-size)))))))
(when (get-buffer left-name) (kill-buffer left-name))
(when (get-buffer right-name) (kill-buffer right-name))
- (test-ai-vterm--display-saved-cleanup))))
+ (cj/test--kill-claude-buffers))))
(ert-deftest test-ai-vterm--display-saved-roundtrip-via-cj/ai-vterm-toggle ()
"End-to-end: toggle-off via dispatch then redisplay -- preserves size."
- (test-ai-vterm--display-saved-cleanup)
+ (cj/test--kill-claude-buffers)
(let ((claude-name "claude [toggle-roundtrip]")
(left-name "*test-tr-left*")
(right-name "*test-tr-right*"))
@@ -240,11 +236,11 @@ the body match."
(should (= new-size before-size))))))))
(when (get-buffer left-name) (kill-buffer left-name))
(when (get-buffer right-name) (kill-buffer right-name))
- (test-ai-vterm--display-saved-cleanup))))
+ (cj/test--kill-claude-buffers))))
(ert-deftest test-ai-vterm--display-saved-two-toggle-cycles-stable ()
"Two consecutive toggle-off+toggle-on cycles -- no compounding error."
- (test-ai-vterm--display-saved-cleanup)
+ (cj/test--kill-claude-buffers)
(let ((claude-name "claude [two-cycle]")
(left-name "*test-2c-left*")
(right-name "*test-2c-right*"))
@@ -277,13 +273,13 @@ the body match."
(should (= cycle2-size initial-size))))))))
(when (get-buffer left-name) (kill-buffer left-name))
(when (get-buffer right-name) (kill-buffer right-name))
- (test-ai-vterm--display-saved-cleanup))))
+ (cj/test--kill-claude-buffers))))
(ert-deftest test-ai-vterm--display-saved-craig-c-x-3-roundtrip ()
"Reproduces Craig's repro from 2026-05-09:
launch -> F9 -> dashboard splits via C-x 3 -> toggle off -> toggle on.
Expected: new claude lands at the same total-width it had before."
- (test-ai-vterm--display-saved-cleanup)
+ (cj/test--kill-claude-buffers)
(let ((claude-name "claude [c-x-3-repro]")
(dash-name "*test-cx3-dashboard*"))
(unwind-protect
@@ -314,7 +310,7 @@ Expected: new claude lands at the same total-width it had before."
(should (windowp claude-win-3))
(should (= size-after size-before)))))))
(when (get-buffer dash-name) (kill-buffer dash-name))
- (test-ai-vterm--display-saved-cleanup))))
+ (cj/test--kill-claude-buffers))))
(ert-deftest test-ai-vterm--toggle-after-buffer-move-no-extra-window ()
"Regression: toggle-off must remove claude's window even when buffer-move
@@ -331,7 +327,7 @@ landing the user at N+1 windows instead of N.
Assertion: after toggle-off+toggle-on, the window count is back to
its pre-cycle value, regardless of `quit-restore' state."
- (test-ai-vterm--display-saved-cleanup)
+ (cj/test--kill-claude-buffers)
(let ((claude-name "claude [buffer-move-toggle]")
(left-name "*test-bm-left*")
(right-name "*test-bm-right*"))
@@ -364,7 +360,7 @@ its pre-cycle value, regardless of `quit-restore' state."
(should (= (length claude-windows) 1)))))))
(when (get-buffer left-name) (kill-buffer left-name))
(when (get-buffer right-name) (kill-buffer right-name))
- (test-ai-vterm--display-saved-cleanup))))
+ (cj/test--kill-claude-buffers))))
(provide 'test-ai-vterm--display-saved)
;;; test-ai-vterm--display-saved.el ends here