diff options
author | Mattias EngdegÄrd <mattiase@acm.org> | 2019-06-10 17:52:50 +0200 |
---|---|---|
committer | Mattias EngdegÄrd <mattiase@acm.org> | 2019-06-11 22:15:38 +0200 |
commit | e92dac3434d30b870461898a336854879620f400 (patch) | |
tree | 888eca0db7ebaccdd9c5cf13a98b66d6337df7c2 /test/lisp/autorevert-tests.el | |
parent | 2b8f9ded06590d8e299ed25e09a0db7af0299fe4 (diff) | |
download | emacs-e92dac3434d30b870461898a336854879620f400.tar.gz |
Keep auto-revert-mode working when changing buffer file name (bug#36159)
* lisp/autorevert.el (after-set-visited-file-name-hook):
Add unconditionally.
(global-auto-revert-mode): Don't use
`after-set-visited-file-name-hook' here.
(auto-revert-set-visited-file-name): Rename from
`auto-revert--global-set-visited-file-name' and generalise.
* test/lisp/autorevert-tests.el (auto-revert-test06-write-file): New.
Diffstat (limited to 'test/lisp/autorevert-tests.el')
-rw-r--r-- | test/lisp/autorevert-tests.el | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/lisp/autorevert-tests.el b/test/lisp/autorevert-tests.el index 3c9e04bf194..f21fb864f27 100644 --- a/test/lisp/autorevert-tests.el +++ b/test/lisp/autorevert-tests.el @@ -542,6 +542,40 @@ This expects `auto-revert--messages' to be bound by (auto-revert--deftest-remote auto-revert-test05-global-notify "Test `global-auto-revert-mode' without polling for remote buffers.") +(ert-deftest auto-revert-test06-write-file () + "Verify that notification follows `write-file' correctly." + :tags '(:expensive-test) + (skip-unless (or file-notify--library + (file-remote-p temporary-file-directory))) + (let* ((auto-revert-use-notify t) + (file-1 (make-temp-file "auto-revert-test")) + (file-2 (concat file-1 "-2")) + (buf nil)) + (unwind-protect + (progn + (setq buf (find-file-noselect file-1)) + (with-current-buffer buf + (insert "A") + (save-buffer) + + (auto-revert-mode 1) + + (insert "B") + (write-file file-2) + + (auto-revert-test--write-file "C" file-2) + (auto-revert-test--wait-for-buffer-text + buf "C" (+ auto-revert-interval 1)) + (should (equal (buffer-string) "C")))) + + ;; Clean up. + (ignore-errors (kill-buffer buf)) + (ignore-errors (delete-file file-1)) + (ignore-errors (delete-file file-2))))) + +(auto-revert--deftest-remote auto-revert-test06-write-file + "Test `write-file' in `auto-revert-mode' for remote buffers.") + (defun auto-revert-test-all (&optional interactive) "Run all tests for \\[auto-revert]." (interactive "p") |