From e8ff048c9bdbfedecb3b2a7e2c0c8de7849c227a Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 27 Sep 2017 01:39:50 +0200 Subject: [PATCH] Rewrite and move doom-resolve-vim-path tests --- core/test/core-lib.el | 46 ++++++++++++++++++++++++++++-- modules/feature/evil/test/evil.el | 47 +++++-------------------------- 2 files changed, 51 insertions(+), 42 deletions(-) diff --git a/core/test/core-lib.el b/core/test/core-lib.el index 42c413159..fba4c22e5 100644 --- a/core/test/core-lib.el +++ b/core/test/core-lib.el @@ -4,14 +4,14 @@ ;; --- Helpers ---------------------------- ;; `doom--resolve-path-forms' -(def-test! resolve-paths +(def-test! resolve-path-forms (should (equal (doom--resolve-path-forms '(and "fileA" "fileB")) '(and (file-exists-p (expand-file-name "fileA" (doom-project-root))) (file-exists-p (expand-file-name "fileB" (doom-project-root))))))) ;; `doom--resolve-hook-forms' -(def-test! resolve-hooks +(def-test! resolve-hook-forms (should (equal (doom--resolve-hook-forms '(js2-mode haskell-mode)) '(js2-mode-hook haskell-mode-hook))) (should (equal (doom--resolve-hook-forms '(quote (js2-mode-hook haskell-mode-hook))) @@ -32,6 +32,48 @@ (should (equal (doom-enlist 'a) '(a))) (should (equal (doom-enlist '(a)) '(a)))) +;; `doom-resolve-vim-path' +(def-test! resolve-vim-path + (cl-flet ((do-it #'doom-resolve-vim-path)) + ;; file modifiers + (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 (file-truename (do-it "%:p")) + (file-truename buffer-file-name)))) + ;; 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"))) + ;; 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 "%:P") ""))))) + ;; --- Macros ----------------------------- diff --git a/modules/feature/evil/test/evil.el b/modules/feature/evil/test/evil.el index cf8ba496f..7fd0626a3 100644 --- a/modules/feature/evil/test/evil.el +++ b/modules/feature/evil/test/evil.el @@ -3,52 +3,19 @@ (require! :feature evil) -;; `+evil*ex-replace-special-filenames' +;; `evil-ex-replace-special-filenames' +;; NOTE The majority of this function is tested in core/test/core-lib.el, this +;; only tests the evil-mode-specific functionality. (def-test! file-modifiers - (cl-flet ((do-it #'+evil*ex-replace-special-filenames)) + (cl-flet ((do-it #'evil-ex-replace-special-filenames)) (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 (file-truename (do-it "%:p")) - (file-truename buffer-file-name)))))) - -(def-test! nested-file-modifiers - (cl-flet ((do-it #'+evil*ex-replace-special-filenames)) - (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"))))) + (should (equal (do-it "%:gs?e?x?") "fxaturx/txst-xvil.xl"))))) (def-test! empty-file-modifiers - (cl-flet ((do-it #'+evil*ex-replace-special-filenames)) + (cl-flet ((do-it #'evil-ex-replace-special-filenames)) (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") ""))))) + (should (equal (do-it "%:gs?e?x?") "")))))