aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorTino Calancha2017-02-27 16:26:06 +0900
committerTino Calancha2017-02-27 16:26:06 +0900
commit841e3e377c97142cfe76b9d91467f439198f5e39 (patch)
treebedab4128a289d0499420c8cdd0943966d24b490 /test
parentfd8f724147b0a64c15f42dd09d21d8b2f81f6cbc (diff)
downloademacs-841e3e377c97142cfe76b9d91467f439198f5e39.tar.gz
emacs-841e3e377c97142cfe76b9d91467f439198f5e39.zip
Choose the right target dir on dired operations
Prevent from changing the input target dir when dired-dwim-target is non-nil (Bug#25609). * lisp/dired-aux.el (dired-do-create-files): If dired-dwim-target is non-nil, then bind 'default' to nil. * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
Diffstat (limited to 'test')
-rw-r--r--test/lisp/dired-tests.el32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/lisp/dired-tests.el b/test/lisp/dired-tests.el
index 489f8fdfea3..1863864abdf 100644
--- a/test/lisp/dired-tests.el
+++ b/test/lisp/dired-tests.el
@@ -20,6 +20,7 @@
20;;; Code: 20;;; Code:
21(require 'ert) 21(require 'ert)
22(require 'dired) 22(require 'dired)
23(require 'nadvice)
23 24
24 25
25(ert-deftest dired-autoload () 26(ert-deftest dired-autoload ()
@@ -52,5 +53,36 @@
52 ;; Clean up 53 ;; Clean up
53 (delete-directory dir 'recursive)))) 54 (delete-directory dir 'recursive))))
54 55
56(ert-deftest dired-test-bug25609 ()
57 "Test for http://debbugs.gnu.org/25609 ."
58 (let* ((from (make-temp-file "foo" 'dir))
59 (to (make-temp-file "bar" 'dir))
60 (target (expand-file-name (file-name-nondirectory from) to))
61 (nested (expand-file-name (file-name-nondirectory from) target))
62 (dired-dwim-target t)
63 (dired-recursive-copies 'always)) ; Don't prompt me.
64 (advice-add 'dired-query ; Don't ask confirmation to overwrite a file.
65 :override
66 (lambda (sym prompt &rest args) (setq dired-query t))
67 '((name . "advice-dired-query")))
68 (advice-add 'completing-read ; Just return init.
69 :override
70 (lambda (prompt coll &optional pred match init hist def inherit keymap)
71 init)
72 '((name . "advice-completing-read")))
73 (dired to)
74 (dired-other-window temporary-file-directory)
75 (dired-goto-file from)
76 (dired-do-copy)
77 (dired-do-copy); Again.
78 (unwind-protect
79 (progn
80 (should (file-exists-p target))
81 (should-not (file-exists-p nested)))
82 (delete-directory from 'recursive)
83 (delete-directory to 'recursive)
84 (advice-remove 'dired-query "advice-dired-query")
85 (advice-remove 'completing-read "advice-completing-read"))))
86
55(provide 'dired-tests) 87(provide 'dired-tests)
56;; dired-tests.el ends here 88;; dired-tests.el ends here