summaryrefslogtreecommitdiff
path: root/tests/test-undead-buffers-kill-all-other-buffers-and-windows.el
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-undead-buffers-kill-all-other-buffers-and-windows.el')
-rw-r--r--tests/test-undead-buffers-kill-all-other-buffers-and-windows.el159
1 files changed, 0 insertions, 159 deletions
diff --git a/tests/test-undead-buffers-kill-all-other-buffers-and-windows.el b/tests/test-undead-buffers-kill-all-other-buffers-and-windows.el
deleted file mode 100644
index dcd08e96..00000000
--- a/tests/test-undead-buffers-kill-all-other-buffers-and-windows.el
+++ /dev/null
@@ -1,159 +0,0 @@
-;;; test-undead-buffers-kill-all-other-buffers-and-windows.el --- Tests for cj/kill-all-other-buffers-and-windows -*- lexical-binding: t; -*-
-
-;;; Commentary:
-;; Tests for the cj/kill-all-other-buffers-and-windows function from undead-buffers.el
-
-;;; Code:
-
-(require 'ert)
-(require 'undead-buffers)
-(require 'testutil-general)
-
-;;; Setup and Teardown
-
-(defun test-kill-all-other-buffers-and-windows-setup ()
- "Setup for kill-all-other-buffers-and-windows tests."
- (cj/create-test-base-dir)
- (delete-other-windows))
-
-(defun test-kill-all-other-buffers-and-windows-teardown ()
- "Teardown for kill-all-other-buffers-and-windows tests."
- (delete-other-windows)
- (cj/delete-test-base-dir))
-
-;;; Normal Cases
-
-(ert-deftest test-kill-all-other-buffers-and-windows-should-kill-regular-buffers ()
- "Should kill all regular buffers except current."
- (test-kill-all-other-buffers-and-windows-setup)
- (unwind-protect
- (let ((main (current-buffer))
- (buf1 (generate-new-buffer "*test-regular-1*"))
- (buf2 (generate-new-buffer "*test-regular-2*")))
- (unwind-protect
- (progn
- (should (buffer-live-p buf1))
- (should (buffer-live-p buf2))
- (cj/kill-all-other-buffers-and-windows)
- (should (buffer-live-p main))
- (should-not (buffer-live-p buf1))
- (should-not (buffer-live-p buf2)))
- (when (buffer-live-p buf1) (kill-buffer buf1))
- (when (buffer-live-p buf2) (kill-buffer buf2))))
- (test-kill-all-other-buffers-and-windows-teardown)))
-
-(ert-deftest test-kill-all-other-buffers-and-windows-should-bury-undead-buffers ()
- "Should bury undead buffers instead of killing them."
- (test-kill-all-other-buffers-and-windows-setup)
- (unwind-protect
- (let ((orig (copy-sequence cj/undead-buffer-list))
- (main (current-buffer))
- (buf1 (generate-new-buffer "*test-undead-1*"))
- (buf2 (generate-new-buffer "*test-undead-2*")))
- (unwind-protect
- (progn
- (add-to-list 'cj/undead-buffer-list "*test-undead-1*")
- (add-to-list 'cj/undead-buffer-list "*test-undead-2*")
- (cj/kill-all-other-buffers-and-windows)
- (should (buffer-live-p main))
- (should (buffer-live-p buf1))
- (should (buffer-live-p buf2)))
- (setq cj/undead-buffer-list orig)
- (when (buffer-live-p buf1) (kill-buffer buf1))
- (when (buffer-live-p buf2) (kill-buffer buf2))))
- (test-kill-all-other-buffers-and-windows-teardown)))
-
-(ert-deftest test-kill-all-other-buffers-and-windows-should-keep-current-buffer ()
- "Should always keep the current buffer alive."
- (test-kill-all-other-buffers-and-windows-setup)
- (unwind-protect
- (let ((main (current-buffer)))
- (cj/kill-all-other-buffers-and-windows)
- (should (buffer-live-p main))
- (should (eq main (current-buffer))))
- (test-kill-all-other-buffers-and-windows-teardown)))
-
-(ert-deftest test-kill-all-other-buffers-and-windows-should-delete-all-other-windows ()
- "Should delete all windows except current."
- (test-kill-all-other-buffers-and-windows-setup)
- (unwind-protect
- (progn
- (split-window)
- (split-window)
- (should (> (length (window-list)) 1))
- (cj/kill-all-other-buffers-and-windows)
- (should (one-window-p)))
- (test-kill-all-other-buffers-and-windows-teardown)))
-
-;;; Boundary Cases
-
-(ert-deftest test-kill-all-other-buffers-and-windows-mixed-undead-and-regular-buffers ()
- "With mix of undead and regular buffers, should handle both correctly."
- (test-kill-all-other-buffers-and-windows-setup)
- (unwind-protect
- (let ((orig (copy-sequence cj/undead-buffer-list))
- (main (current-buffer))
- (regular (generate-new-buffer "*test-regular*"))
- (undead (generate-new-buffer "*test-undead*")))
- (unwind-protect
- (progn
- (add-to-list 'cj/undead-buffer-list "*test-undead*")
- (cj/kill-all-other-buffers-and-windows)
- (should (buffer-live-p main))
- (should-not (buffer-live-p regular))
- (should (buffer-live-p undead)))
- (setq cj/undead-buffer-list orig)
- (when (buffer-live-p regular) (kill-buffer regular))
- (when (buffer-live-p undead) (kill-buffer undead))))
- (test-kill-all-other-buffers-and-windows-teardown)))
-
-(ert-deftest test-kill-all-other-buffers-and-windows-all-undead-buffers-should-bury-all ()
- "When all other buffers are undead, should bury all of them."
- (test-kill-all-other-buffers-and-windows-setup)
- (unwind-protect
- (let ((orig (copy-sequence cj/undead-buffer-list))
- (main (current-buffer))
- (undead1 (generate-new-buffer "*test-all-undead-1*"))
- (undead2 (generate-new-buffer "*test-all-undead-2*"))
- (undead3 (generate-new-buffer "*test-all-undead-3*")))
- (unwind-protect
- (progn
- (add-to-list 'cj/undead-buffer-list "*test-all-undead-1*")
- (add-to-list 'cj/undead-buffer-list "*test-all-undead-2*")
- (add-to-list 'cj/undead-buffer-list "*test-all-undead-3*")
- (cj/kill-all-other-buffers-and-windows)
- (should (buffer-live-p main))
- (should (buffer-live-p undead1))
- (should (buffer-live-p undead2))
- (should (buffer-live-p undead3)))
- (setq cj/undead-buffer-list orig)
- (when (buffer-live-p undead1) (kill-buffer undead1))
- (when (buffer-live-p undead2) (kill-buffer undead2))
- (when (buffer-live-p undead3) (kill-buffer undead3))))
- (test-kill-all-other-buffers-and-windows-teardown)))
-
-(ert-deftest test-kill-all-other-buffers-and-windows-should-prompt-for-modified-buffers ()
- "Should call cj/save-some-buffers to handle modified buffers."
- (test-kill-all-other-buffers-and-windows-setup)
- (unwind-protect
- (let ((main (current-buffer))
- (file (cj/create-temp-test-file-with-content "original"))
- save-called)
- ;; Mock cj/save-some-buffers to track if it's called
- (cl-letf (((symbol-function 'cj/save-some-buffers)
- (lambda (&optional arg)
- (setq save-called t))))
- (let ((buf (find-file-noselect file)))
- (unwind-protect
- (progn
- (with-current-buffer buf
- (insert "modified"))
- (cj/kill-all-other-buffers-and-windows)
- (should save-called))
- (when (buffer-live-p buf)
- (set-buffer-modified-p nil)
- (kill-buffer buf))))))
- (test-kill-all-other-buffers-and-windows-teardown)))
-
-(provide 'test-undead-buffers-kill-all-other-buffers-and-windows)
-;;; test-undead-buffers-kill-all-other-buffers-and-windows.el ends here