doomemacs/modules/ui/doom-dashboard/test/doom-dashboard.el

48 lines
1.8 KiB
EmacsLisp
Raw Normal View History

2017-12-28 19:59:54 -05:00
;; -*- 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))))