Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
67679f0c
Commit
67679f0c
authored
Jul 29, 2018
by
Stephen Berman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add initial tests for wdired.el
* test/lisp/wdired-tests.el: New file.
parent
831a3cb3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
105 additions
and
0 deletions
+105
-0
test/lisp/wdired-tests.el
test/lisp/wdired-tests.el
+105
-0
No files found.
test/lisp/wdired-tests.el
0 → 100644
View file @
67679f0c
;;; wdired-tests.el --- tests for wdired.el -*- lexical-binding: t; -*-
;; Copyright (C) 2018 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;; Code:
(
require
'ert
)
(
require
'dired
)
(
ert-deftest
wdired-test-bug32173-01
()
"Test using non-nil wdired-use-interactive-rename.
Partially modifying a file name should succeed."
(
let*
((
test-dir
(
make-temp-file
"test-dir-"
t
))
(
test-file
(
concat
(
file-name-as-directory
test-dir
)
"foo.c"
))
(
replace
"bar"
)
(
new-file
(
replace-regexp-in-string
"foo"
replace
test-file
))
(
wdired-use-interactive-rename
t
))
(
write-region
""
nil
test-file
nil
'silent
)
(
advice-add
'dired-query
; Don't ask confirmation to overwrite a file.
:override
(
lambda
(
_sym
_prompt
&rest
_args
)
(
setq
dired-query
t
))
'
((
name
.
"advice-dired-query"
)))
(
let
((
buf
(
find-file-noselect
test-dir
)))
(
unwind-protect
(
with-current-buffer
buf
(
should
(
equal
(
dired-file-name-at-point
)
test-file
))
(
dired-toggle-read-only
)
(
kill-region
(
point
)
(
progn
(
search-forward
"."
)
(
forward-char
-1
)
(
point
)))
(
insert
replace
)
(
wdired-finish-edit
)
(
should
(
equal
(
dired-file-name-at-point
)
new-file
)))
(
if
buf
(
kill-buffer
buf
))
(
delete-directory
test-dir
t
)))))
(
ert-deftest
wdired-test-bug32173-02
()
"Test using non-nil wdired-use-interactive-rename.
Aborting an edit should leaving original file name unchanged."
(
let*
((
test-dir
(
make-temp-file
"test-dir-"
t
))
(
test-file
(
concat
(
file-name-as-directory
test-dir
)
"foo.c"
))
(
wdired-use-interactive-rename
t
))
(
write-region
""
nil
test-file
nil
'silent
)
;; Make dired-do-create-files-regexp a noop to mimic typing C-g
;; at its prompt before wdired-finish-edit returns.
(
advice-add
'dired-do-create-files-regexp
:override
(
lambda
(
&rest
_
)
(
ignore
))
'
((
name
.
"advice-dired-do-create-files-regexp"
)))
(
let
((
buf
(
find-file-noselect
test-dir
)))
(
unwind-protect
(
with-current-buffer
buf
(
should
(
equal
(
dired-file-name-at-point
)
test-file
))
(
dired-toggle-read-only
)
(
kill-region
(
point
)
(
progn
(
search-forward
"."
)
(
forward-char
-1
)
(
point
)))
(
insert
"bar"
)
(
wdired-finish-edit
)
(
should
(
equal
(
dired-get-filename
)
test-file
)))
(
if
buf
(
kill-buffer
buf
))
(
delete-directory
test-dir
t
)))))
(
ert-deftest
wdired-test-unfinished-edit-01
()
"Test editing a file name without saving the change.
Finding the new name should be possible while still in
wdired-mode."
:expected-result
(
if
(
<
emacs-major-version
27
)
:failed
:passed
)
(
let*
((
test-dir
(
make-temp-file
"test-dir-"
t
))
(
test-file
(
concat
(
file-name-as-directory
test-dir
)
"foo.c"
))
(
replace
"bar"
)
(
new-file
(
replace-regexp-in-string
"foo"
replace
test-file
)))
(
write-region
""
nil
test-file
nil
'silent
)
(
let
((
buf
(
find-file-noselect
test-dir
)))
(
unwind-protect
(
with-current-buffer
buf
(
should
(
equal
(
dired-file-name-at-point
)
test-file
))
(
dired-toggle-read-only
)
(
kill-region
(
point
)
(
progn
(
search-forward
"."
)
(
forward-char
-1
)
(
point
)))
(
insert
replace
)
(
should
(
equal
(
dired-get-filename
)
new-file
))))
(
when
buf
(
with-current-buffer
buf
;; Prevent kill-buffer-query-functions from chiming in.
(
set-buffer-modified-p
nil
)
(
kill-buffer
buf
)))
(
delete-directory
test-dir
t
))))
(
provide
'wdired-tests
)
;;; wdired-tests.el ends here
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment