parent
4f1a5e456e
commit
284dfd3613
2 changed files with 0 additions and 34 deletions
|
@ -4892,20 +4892,6 @@ extension, the value is \"\"."
|
|||
(if period
|
||||
"")))))
|
||||
|
||||
(defun file-name-with-extension (filename extension)
|
||||
"Set the EXTENSION of a FILENAME.
|
||||
Consolidates leading/trailing dots so that either `foo' or `.foo'
|
||||
can be passed as an EXTENSION.
|
||||
|
||||
See also `file-name-sans-extension'."
|
||||
(let* ((patt "[ .]+")
|
||||
(file (string-trim-right filename patt))
|
||||
(extn (string-trim-left extension patt)))
|
||||
(cond ((string-empty-p file) (error "Malformed filename: %s" filename))
|
||||
((string-empty-p extn) (error "Malformed extension: %s" extension))
|
||||
((directory-name-p file) (error "Filename is a directory: %s" filename))
|
||||
(t (concat (file-name-sans-extension file) "." extn)))))
|
||||
|
||||
(defun file-name-base (&optional filename)
|
||||
"Return the base name of the FILENAME: no directory, no extension."
|
||||
(declare (advertised-calling-convention (filename) "27.1"))
|
||||
|
|
|
@ -1478,25 +1478,5 @@ 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 "Jack..." "...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 "..." "css"))
|
||||
(should-error (file-name-with-extension "/is/a/directory/" "css")))
|
||||
|
||||
(provide 'files-tests)
|
||||
;;; files-tests.el ends here
|
||||
|
|
Loading…
Add table
Reference in a new issue