summaryrefslogtreecommitdiff
path: root/test/lisp/files-tests.el
diff options
context:
space:
mode:
Diffstat (limited to 'test/lisp/files-tests.el')
-rw-r--r--test/lisp/files-tests.el23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el
index 479848abb23..80d5e5befbc 100644
--- a/test/lisp/files-tests.el
+++ b/test/lisp/files-tests.el
@@ -197,5 +197,28 @@ form.")
(setenv "FOO" foo-env)
(setenv "BAR" bar-env))))
+(ert-deftest files-test--save-buffers-kill-emacs--confirm-kill-processes ()
+ "Test that `save-buffers-kill-emacs' honors
+`confirm-kill-processes'."
+ (cl-letf* ((yes-or-no-p-prompts nil)
+ ((symbol-function #'yes-or-no-p)
+ (lambda (prompt)
+ (push prompt yes-or-no-p-prompts)
+ nil))
+ (kill-emacs-args nil)
+ ((symbol-function #'kill-emacs)
+ (lambda (&optional arg) (push arg kill-emacs-args)))
+ (process
+ (make-process
+ :name "sleep"
+ :command (list
+ (expand-file-name invocation-name invocation-directory)
+ "-batch" "-Q" "-eval" "(sleep-for 1000)")))
+ (confirm-kill-processes nil))
+ (save-buffers-kill-emacs)
+ (kill-process process)
+ (should-not yes-or-no-p-prompts)
+ (should (equal kill-emacs-args '(nil)))))
+
(provide 'files-tests)
;;; files-tests.el ends here