feature/evil: generalize custom file modifiers + unit test
This commit is contained in:
parent
9fce3ca4fd
commit
f5b3baf09e
2 changed files with 97 additions and 45 deletions
|
@ -2,20 +2,51 @@
|
|||
|
||||
(require! :feature evil t)
|
||||
|
||||
(defalias 'do-it '+evil*ex-replace-special-filenames)
|
||||
|
||||
(def-test-group! feature/evil
|
||||
:disabled t
|
||||
(ert-deftest custom-file-modifiers ()
|
||||
(let ((buffer-file-name "~/.emacs.d/test/modules/feature/test-evil.el")
|
||||
(default-directory "~/.emacs.d/test/modules"))
|
||||
(should (equal (+evil*ex-replace-special-filenames "%") "feature/test-evil.el"))
|
||||
(should (equal (+evil*ex-replace-special-filenames "%:r") "feature/test-evil"))
|
||||
(should (equal (+evil*ex-replace-special-filenames "%:e") "el"))
|
||||
;; TODO :h
|
||||
;; TODO :t
|
||||
;; TODO :.
|
||||
;; TODO :~
|
||||
;; TODO :s
|
||||
;; TODO :S
|
||||
(should (equal (+evil*ex-replace-special-filenames "%:P") (doom-project-root)))
|
||||
(should (equal (file-truename (+evil*ex-replace-special-filenames "%:p"))
|
||||
(file-truename buffer-file-name))))))
|
||||
(let ((buffer-file-name "~/.emacs.d/test/modules/feature/test-evil.el")
|
||||
(default-directory "~/.emacs.d/test/modules/"))
|
||||
(should (equal (do-it "%") "feature/test-evil.el"))
|
||||
(should (equal (do-it "%:r") "feature/test-evil"))
|
||||
(should (equal (do-it "%:r.elc") "feature/test-evil.elc"))
|
||||
(should (equal (do-it "%:e") "el"))
|
||||
(should (equal (do-it "%:p") (expand-file-name buffer-file-name)))
|
||||
(should (equal (do-it "%:h") "feature"))
|
||||
(should (equal (do-it "%:t") "test-evil.el"))
|
||||
(should (equal (do-it "%:.") "feature/test-evil.el"))
|
||||
(should (equal (do-it "%:~") "~/.emacs.d/test/modules/feature/test-evil.el"))
|
||||
(should (equal (do-it "%:s?e?x?") "fxature/test-evil.el"))
|
||||
(should (equal (do-it "%:gs?e?x?") "fxaturx/txst-xvil.xl"))
|
||||
(should (equal (do-it "%:P/") (doom-project-root)))
|
||||
(should (equal (file-truename (do-it "%:p"))
|
||||
(file-truename buffer-file-name)))))
|
||||
|
||||
(ert-deftest custom-nested-file-modifiers ()
|
||||
(let ((buffer-file-name "~/vim/src/version.c")
|
||||
(default-directory "~/vim/"))
|
||||
(should (equal (do-it "%:p") (expand-file-name "~/vim/src/version.c")))
|
||||
(should (equal (do-it "%:p:.") "src/version.c"))
|
||||
(should (equal (do-it "%:p:~") "~/vim/src/version.c"))
|
||||
(should (equal (do-it "%:h") "src"))
|
||||
(should (equal (do-it "%:p:h") (expand-file-name "~/vim/src")))
|
||||
(should (equal (do-it "%:p:h:h") (expand-file-name "~/vim")))
|
||||
(should (equal (do-it "%:t") "version.c"))
|
||||
(should (equal (do-it "%:p:t") "version.c"))
|
||||
(should (equal (do-it "%:r") "src/version"))
|
||||
(should (equal (do-it "%:p:r") (expand-file-name "~/vim/src/version")))
|
||||
(should (equal (do-it "%:t:r") "version"))))
|
||||
|
||||
(ert-deftest custom-empty-file-modifiers ()
|
||||
(let (buffer-file-name default-directory)
|
||||
(should (equal (do-it "%") ""))
|
||||
(should (equal (do-it "%:r") ""))
|
||||
(should (equal (do-it "%:e") ""))
|
||||
(should (equal (do-it "%:h") ""))
|
||||
(should (equal (do-it "%:t") ""))
|
||||
(should (equal (do-it "%:.") ""))
|
||||
(should (equal (do-it "%:~") ""))
|
||||
(should (equal (do-it "%:s?e?x?") ""))
|
||||
(should (equal (do-it "%:gs?e?x?") ""))
|
||||
(should (equal (do-it "%:P") "")))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue