From f8cfe5878d706c6344053c5f8a925b7e7de8bd1f Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 28 Dec 2017 19:59:54 -0500 Subject: [PATCH] ui/doom-dashboard: add unit tests --- init.test.el | 3 ++ .../ui/doom-dashboard/test/doom-dashboard.el | 47 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 modules/ui/doom-dashboard/test/doom-dashboard.el diff --git a/init.test.el b/init.test.el index 038114c87..8d529cd2f 100644 --- a/init.test.el +++ b/init.test.el @@ -9,6 +9,9 @@ :completion company + :ui + doom-dashboard + :tools password-store diff --git a/modules/ui/doom-dashboard/test/doom-dashboard.el b/modules/ui/doom-dashboard/test/doom-dashboard.el new file mode 100644 index 000000000..3e4ba8f7c --- /dev/null +++ b/modules/ui/doom-dashboard/test/doom-dashboard.el @@ -0,0 +1,47 @@ +;; -*- no-byte-compile: t; -*- +;;; ui/doom-dashboard/test/doom-dashboard.el + +(require! :ui doom-dashboard) +(+doom-dashboard|init) + +(defun -dashboard-test-cwd (spec file) + (let ((+doom-dashboard-pwd-policy (car spec)) + +doom-dashboard--last-cwd + projectile-enable-caching) + (with-temp-buffer + (setq-local buffer-file-name file) + (setq-local default-directory (file-name-directory file))) + (should +doom-dashboard--last-cwd) + (+doom-dashboard-reload t) + (should (equal (buffer-local-value 'default-directory (doom-fallback-buffer)) + (cdr spec))))) + +;; +(def-test! pwd-policy + (let ((default-directory doom-emacs-dir) + (+doom-dashboard--last-cwd doom-core-dir) + projectile-enable-caching) + (dolist (spec (list (cons 'last-project doom-emacs-dir) + (cons 'last doom-core-dir) + (cons (lambda (x) "x") "x") + (cons "~" (expand-file-name "~")) + (cons nil default-directory))) + (let ((+doom-dashboard-pwd-policy (car spec))) + (should (equal (+doom-dashboard--get-pwd) (cdr spec))))))) + +(def-test! kill-buffer-query + (let (+doom-dashboard--last-cwd) + (with-temp-buffer + (setq buffer-file-name (expand-file-name "core.el" doom-core-dir) + default-directory doom-core-dir) + (kill-buffer (current-buffer))) + (should (equal +doom-dashboard--last-cwd doom-core-dir)))) + +(def-test! dashboard-reload-pwd-policy + (dolist (spec (list (cons 'last-project doom-emacs-dir) + (cons 'last doom-core-dir) + (cons "~" (expand-file-name "~")) + (cons (lambda (x) "/tmp") (expand-file-name "/tmp")))) + (-dashboard-test-cwd spec (expand-file-name "core.el" doom-core-dir)))) + +