48 lines
1.8 KiB
EmacsLisp
48 lines
1.8 KiB
EmacsLisp
|
;; -*- 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))))
|
||
|
|
||
|
|