1 ;;; dired-tests.el --- Test suite. -*- lexical-binding: t -*-
3 ;; Copyright (C) 2015-2017 Free Software Foundation, Inc.
5 ;; This file is part of GNU Emacs.
7 ;; GNU Emacs is free software: you can redistribute it and/or modify
8 ;; it under the terms of the GNU General Public License as published by
9 ;; the Free Software Foundation, either version 3 of the License, or
10 ;; (at your option) any later version.
12 ;; GNU Emacs is distributed in the hope that it will be useful,
13 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;; GNU General Public License for more details.
17 ;; You should have received a copy of the GNU General Public License
18 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
26 (ert-deftest dired-autoload
()
27 "Tests to see whether dired-x has been autoloaded"
29 (fboundp 'dired-jump
))
35 (ert-deftest dired-test-bug22694
()
36 "Test for http://debbugs.gnu.org/22694 ."
37 (let* ((dir (expand-file-name "bug22694" default-directory
))
39 (full-name (expand-file-name file dir
))
41 (dired-always-read-filesystem t
))
42 (if (file-exists-p dir
)
43 (delete-directory dir
'recursive
))
45 (with-temp-file full-name
(insert "foo"))
46 (find-file-noselect full-name
)
48 (with-temp-file full-name
(insert "bar"))
49 (dired-mark-files-containing-regexp regexp
)
51 (should (equal (dired-get-marked-files nil nil nil
'distinguish-1-mark
)
54 (delete-directory dir
'recursive
))))
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
))
63 (dired-recursive-copies 'always
)) ; Don't prompt me.
64 (advice-add 'dired-query
; Don't ask confirmation to overwrite a file.
66 (lambda (sym prompt
&rest args
) (setq dired-query t
))
67 '((name .
"advice-dired-query")))
68 (advice-add 'completing-read
; Just return init.
70 (lambda (prompt coll
&optional pred match init hist def inherit keymap
)
72 '((name .
"advice-completing-read")))
74 (dired-other-window temporary-file-directory
)
75 (dired-goto-file from
)
77 (dired-do-copy); Again.
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"))))
87 (provide 'dired-tests
)
88 ;; dired-tests.el ends here