aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lisp/wdired-tests.el45
1 files changed, 45 insertions, 0 deletions
diff --git a/test/lisp/wdired-tests.el b/test/lisp/wdired-tests.el
index dc67796cded..9682843db29 100644
--- a/test/lisp/wdired-tests.el
+++ b/test/lisp/wdired-tests.el
@@ -124,6 +124,51 @@ wdired-mode."
124 (kill-buffer buf))) 124 (kill-buffer buf)))
125 (delete-directory test-dir t))))) 125 (delete-directory test-dir t)))))
126 126
127(ert-deftest wdired-test-bug34915 ()
128 "Test editing when dired-listing-switches includes -F.
129Appended file indicators should not count as part of the file
130name, either before or after editing. Since
131dired-move-to-end-of-filename handles indicator characters, it
132suffices to compare the return values of dired-get-filename and
133wdired-get-filename before and after editing."
134 ;; FIXME: Add a test for a door (indicator ">") only under Solaris?
135 (let* ((test-dir (make-temp-file "test-dir-" t))
136 (server-socket-dir test-dir)
137 (dired-listing-switches "-Fl")
138 (buf (find-file-noselect test-dir)))
139 (unwind-protect
140 (progn
141 (with-current-buffer buf
142 (dired-create-empty-file "foo")
143 (set-file-modes "foo" (file-modes-symbolic-to-number "+x"))
144 (make-symbolic-link "foo" "bar")
145 (make-directory "foodir")
146 (require 'dired-x)
147 (dired-smart-shell-command "mkfifo foopipe")
148 (server-force-delete)
149 (server-start) ; Add a socket file.
150 (kill-buffer buf))
151 (dired test-dir)
152 (dired-toggle-read-only)
153 (let (names)
154 ;; Test that the file names are the same in Dired and WDired.
155 (while (not (eobp))
156 (should (equal (dired-get-filename 'no-dir t)
157 (wdired-get-filename t)))
158 (insert "w")
159 (push (wdired-get-filename t) names)
160 (dired-next-line 1))
161 (wdired-finish-edit)
162 ;; Test that editing the file names ignores the indicator
163 ;; character.
164 (let (dir)
165 (while (and (dired-previous-line 1)
166 (setq dir (dired-get-filename 'no-dir t)))
167 (should (equal dir (pop names)))))))
168 (kill-buffer (get-buffer test-dir))
169 (server-force-delete)
170 (delete-directory test-dir t))))
171
127 172
128(provide 'wdired-tests) 173(provide 'wdired-tests)
129;;; wdired-tests.el ends here 174;;; wdired-tests.el ends here