summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorColin Woodbury <colin@fosskers.ca>2021-06-30 14:07:29 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2021-06-30 14:07:29 +0200
commit4f2765f6f1a2cc6da408e3c5ff99ea5f8756bad4 (patch)
tree33a471c4faafcf7279c0ffc83f986ff679aad3ef /test
parent1dba0ca278f8185912e8d39b2af05fc6739b65f8 (diff)
downloademacs-4f2765f6f1a2cc6da408e3c5ff99ea5f8756bad4.tar.gz
emacs-4f2765f6f1a2cc6da408e3c5ff99ea5f8756bad4.tar.bz2
emacs-4f2765f6f1a2cc6da408e3c5ff99ea5f8756bad4.zip
Add new function file-name-with-extension
* doc/lispref/files.texi (File Name Components): Document it. * lisp/emacs-lisp/shortdoc.el (file-name): Ditto. * lisp/files.el (file-name-with-extension): New function.
Diffstat (limited to 'test')
-rw-r--r--test/lisp/files-tests.el18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el
index dc96dff6398..257cbc2d329 100644
--- a/test/lisp/files-tests.el
+++ b/test/lisp/files-tests.el
@@ -1478,5 +1478,23 @@ The door of all subtleties!
(buffer-substring (point-min) (point-max))
nil nil)))))
+(ert-deftest files-tests-file-name-with-extension-good ()
+ "Test that `file-name-with-extension' succeeds with reasonable input."
+ (should (string= (file-name-with-extension "Jack" "css") "Jack.css"))
+ (should (string= (file-name-with-extension "Jack" ".css") "Jack.css"))
+ (should (string= (file-name-with-extension "Jack.scss" "css") "Jack.css"))
+ (should (string= (file-name-with-extension "/path/to/Jack.md" "org") "/path/to/Jack.org")))
+
+(ert-deftest files-tests-file-name-with-extension-bad ()
+ "Test that `file-name-with-extension' fails on malformed input."
+ (should-error (file-name-with-extension nil nil))
+ (should-error (file-name-with-extension "Jack" nil))
+ (should-error (file-name-with-extension nil "css"))
+ (should-error (file-name-with-extension "" ""))
+ (should-error (file-name-with-extension "" "css"))
+ (should-error (file-name-with-extension "Jack" ""))
+ (should-error (file-name-with-extension "Jack" "."))
+ (should-error (file-name-with-extension "/is/a/directory/" "css")))
+
(provide 'files-tests)
;;; files-tests.el ends here