From: shipmints Date: Fri, 4 Apr 2025 17:25:55 +0000 (-0400) Subject: Add tab-bar test for "effectively dedicated window" (bug#71386) X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bf2d4616032f4f9c8358a98cdea9ece4086fe1fb;p=emacs.git Add tab-bar test for "effectively dedicated window" (bug#71386) * test/lisp/tab-bar-tests.el (tab-bar-tests-quit-restore-window): New test for 'delete-frame' for effectively-dedicated windows. (cherry picked from commit 5fc1bd879e41e79601cff27db175d2ad22eafb66) --- diff --git a/test/lisp/tab-bar-tests.el b/test/lisp/tab-bar-tests.el index c0e12cf159c..a26d15ce977 100644 --- a/test/lisp/tab-bar-tests.el +++ b/test/lisp/tab-bar-tests.el @@ -134,7 +134,7 @@ ;; Clean up the tab afterwards (tab-close)) - ;; 3. Don't delete the frame with dedicated window + ;; 3.1. Don't delete the frame with dedicated window ;; from the second tab (bug#71386) (with-selected-frame (make-frame frame-params) (switch-to-buffer (generate-new-buffer "test1")) @@ -150,8 +150,25 @@ (kill-buffer) (should (eq (length (frame-list)) 1))) - ;; Clean up tabs afterwards - (tab-bar-tabs-set nil))) + ;; 3.2. Don't delete the frame with an effectively-dedicated window + ;; from the second tab (bug#71386) + (with-selected-frame (make-frame frame-params) + (let ((switch-to-prev-buffer-skip #'always) + (kill-buffer-quit-windows nil)) + (switch-to-buffer (generate-new-buffer "test1")) + (tab-bar-new-tab) + (switch-to-buffer (generate-new-buffer "test2")) + ;; This makes the window effectively dedicated. + (set-window-prev-buffers nil nil) + ;; Killing the buffer should close the tab, leave one open tab, + ;; and not delete the frame. + (kill-buffer) + (should (eq (length (tab-bar-tabs)) 1)) + (should (eq (length (frame-list)) 2)) + (delete-frame)))) + + ;; Clean up tabs afterwards + (tab-bar-tabs-set nil)) (provide 'tab-bar-tests) ;;; tab-bar-tests.el ends here