summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/emacs-lisp/ert-x.el4
-rw-r--r--test/lisp/emacs-lisp/ert-x-tests.el3
2 files changed, 5 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/ert-x.el b/lisp/emacs-lisp/ert-x.el
index 752ac3bfdd4..ffeead4179d 100644
--- a/lisp/emacs-lisp/ert-x.el
+++ b/lisp/emacs-lisp/ert-x.el
@@ -445,7 +445,9 @@ See also `ert-with-temp-directory'."
(or (macroexp-file-name) buffer-file-name)))))
`(let* ((,temp-file (,(if directory 'file-name-as-directory 'identity)
(make-temp-file ,prefix ,directory ,suffix ,text)))
- (,name ,temp-file))
+ (,name ,(if directory
+ `(file-name-as-directory ,temp-file)
+ temp-file)))
(unwind-protect
(progn ,@body)
(ignore-errors
diff --git a/test/lisp/emacs-lisp/ert-x-tests.el b/test/lisp/emacs-lisp/ert-x-tests.el
index d7c0985b13e..9baa9941586 100644
--- a/test/lisp/emacs-lisp/ert-x-tests.el
+++ b/test/lisp/emacs-lisp/ert-x-tests.el
@@ -320,7 +320,8 @@ desired effect."
(ert-with-temp-directory dir
(setq saved dir)
(should (file-exists-p dir))
- (should (file-directory-p dir)))
+ (should (file-directory-p dir))
+ (should (equal dir (file-name-as-directory dir))))
(should-not (file-exists-p saved))))
(ert-deftest ert-x-tests-with-temp-directory/text-signals-error ()