(ert-deftest dired-test-bug27243-01 ()
"Test for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27243#5 ."
- (let ((test-dir (make-temp-file "test-dir-" t))
+ (let ((test-dir (file-name-as-directory (make-temp-file "test-dir-" t)))
(dired-auto-revert-buffer t) buffers)
+ (should-not (dired-buffers-for-dir test-dir))
(with-current-buffer (find-file-noselect test-dir)
(make-directory "test-subdir"))
+ ;; Point must be at end-of-buffer.
+ (with-current-buffer (car (dired-buffers-for-dir test-dir))
+ (should (eobp)))
(push (dired test-dir) buffers)
+ ;; Previous dired call shouldn't create a new buffer: must visit the one
+ ;; created by `find-file-noselect' above.
+ (should (eq 1 (length (dired-buffers-for-dir test-dir))))
(unwind-protect
(let ((buf (current-buffer))
(pt1 (point))
(write-region "Test" nil test-file nil 'silent nil 'excl)
;; Sanity check: point should now be on the subdirectory.
(should (equal (dired-file-name-at-point)
- (concat (file-name-as-directory test-dir)
- (file-name-as-directory "test-subdir"))))
+ (concat test-dir (file-name-as-directory "test-subdir"))))
(push (dired-find-file) buffers)
(let ((pt2 (point))) ; Point is on test-file.
- (switch-to-buffer buf)
+ (pop-to-buffer-same-window buf)
;; Sanity check: point should now be back on the subdirectory.
(should (eq (point) pt1))
(push (dired-find-file) buffers)