summaryrefslogtreecommitdiff
path: root/test/lisp/wdired-tests.el
diff options
context:
space:
mode:
authorStephen Berman <stephen.berman@gmx.net>2023-02-24 16:43:35 +0100
committerStephen Berman <stephen.berman@gmx.net>2023-02-24 16:43:35 +0100
commit925724a4b54a6780bfa342bc3a6440a6ad0a6ecc (patch)
treedc919ea7fef06e5d685393fbb580c514ecc07555 /test/lisp/wdired-tests.el
parent55d29c9bacb6227bc8b3a6c0dd52c7085fe63aaf (diff)
downloademacs-925724a4b54a6780bfa342bc3a6440a6ad0a6ecc.tar.gz
Restore invisibility of symlink target on exiting wdired-mode
* lisp/wdired.el (wdired-change-to-dired-mode): Invoke dired-hide-details-update-invisibility-spec (bug#61510). * test/lisp/wdired-tests.el (wdired-test-bug61510): New test.
Diffstat (limited to 'test/lisp/wdired-tests.el')
-rw-r--r--test/lisp/wdired-tests.el23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/lisp/wdired-tests.el b/test/lisp/wdired-tests.el
index 74c2449076f..897c6cd69a8 100644
--- a/test/lisp/wdired-tests.el
+++ b/test/lisp/wdired-tests.el
@@ -189,5 +189,28 @@ wdired-get-filename before and after editing."
(wdired-finish-edit))
(if buf (kill-buffer buf)))))))
+(ert-deftest wdired-test-bug61510 ()
+ "Test visibility of symlink target on leaving wdired-mode.
+When dired-hide-details-mode is enabled and
+dired-hide-details-hide-symlink-targets is non-nil (the default),
+the link target becomes invisible. When wdired-mode is enabled
+the target becomes visible, but on returning to dired-mode, it
+should be invisible again."
+ (ert-with-temp-directory test-dir
+ (let ((buf (find-file-noselect test-dir))
+ ;; Default value is t, but set it anyway, to be sure.
+ (dired-hide-details-hide-symlink-targets t))
+ (unwind-protect
+ (with-current-buffer buf
+ (make-symbolic-link "bar" "foo")
+ (dired-hide-details-mode)
+ (should (memq 'dired-hide-details-link buffer-invisibility-spec))
+ (dired-toggle-read-only)
+ (should-not (memq 'dired-hide-details-link
+ buffer-invisibility-spec))
+ (wdired-finish-edit)
+ (should (memq 'dired-hide-details-link buffer-invisibility-spec)))
+ (if buf (kill-buffer buf))))))
+
(provide 'wdired-tests)
;;; wdired-tests.el ends here