diff --git a/core/test/test-core-ui.el b/core/test/test-core-ui.el index c9471f0bb..2ef290d63 100644 --- a/core/test/test-core-ui.el +++ b/core/test/test-core-ui.el @@ -58,75 +58,5 @@ (expect (kill-buffer (get-buffer-create "a")))) (it "shouldn't kill the fallback buffer" - (expect (not (kill-buffer (doom-fallback-buffer)))))) - - - (describe "switch hooks" - :var (before-hook after-hook a b) - (before-each - (setq a (switch-to-buffer (get-buffer-create "a")) - b (get-buffer-create "b")) - (spy-on 'before-hook) - (spy-on 'after-hook) - (doom|init-custom-hooks)) - (after-each - (doom|init-custom-hooks 'disable) - (kill-buffer a) - (kill-buffer b)) - - - (describe "switch-buffer" - :var (doom-exit-buffer-hook - doom-enter-buffer-hook) - (before-each - (setq doom-exit-buffer-hook '(before-hook) - doom-enter-buffer-hook '(after-hook))) - (after-each - (setq doom-exit-buffer-hook nil - doom-enter-buffer-hook nil)) - - (it "should trigger when switching buffers" - (switch-to-buffer b) - (switch-to-buffer a) - (switch-to-buffer b) - (expect 'before-hook :to-have-been-called-times 3) - (expect 'after-hook :to-have-been-called-times 3)) - - (it "should trigger only once on the same buffer" - (switch-to-buffer b) - (switch-to-buffer b) - (switch-to-buffer a) - (expect 'before-hook :to-have-been-called-times 2) - (expect 'after-hook :to-have-been-called-times 2))) - - - (describe "switch-window" - :var (doom-exit-window-hook - doom-enter-window-hook - x y) - (before-each - (delete-other-windows) - (setq x (get-buffer-window a) - y (save-selected-window (split-window))) - (with-selected-window y - (switch-to-buffer b)) - (select-window x) - (spy-calls-reset 'before-hook) - (spy-calls-reset 'after-hook) - (setq doom-exit-window-hook '(before-hook) - doom-enter-window-hook '(after-hook))) - - (it "should trigger when switching windows" - (select-window y) - (select-window x) - (select-window y) - (expect 'before-hook :to-have-been-called-times 3) - (expect 'after-hook :to-have-been-called-times 3)) - - (it "should trigger only once on the same window" - (select-window y) - (select-window y) - (select-window x) - (expect 'before-hook :to-have-been-called-times 2) - (expect 'after-hook :to-have-been-called-times 2))))) + (expect (not (kill-buffer (doom-fallback-buffer))))))) diff --git a/core/test/test-core.el b/core/test/test-core.el index 4e69aa1e4..068d9ff7f 100644 --- a/core/test/test-core.el +++ b/core/test/test-core.el @@ -1,8 +1,8 @@ ;; -*- no-byte-compile: t; -*- ;;; core/test/test-core.el -(xdescribe "core" - (describe "initialize" +(describe "core" + (xdescribe "initialize" :var (doom-init-p doom-init-modules-p doom-private-dir) (before-each (setq doom-init-p nil @@ -41,16 +41,85 @@ (it "does not load autoloads file if forced" ) (it "does not regenerate missing autoloads" ))) - (describe "initialize-packages" + (xdescribe "initialize-packages" (before-each (spy-on 'quelpa-setup-p)) (it "initializes package.el once, unless forced" ) (it "initializes quelpa once, unless forced" ) (it "initializes doom-packages once, unless forced" )) - (describe "initialize-modules" + (xdescribe "initialize-modules" (it "loads private init.el once, unless forced" )) - (describe "initialize-autoloads" + (xdescribe "initialize-autoloads" (it "loads autoloads file" ) - (it "ignores autoloads file if cleared" ))) + (it "ignores autoloads file if cleared" )) + + (describe "custom hooks" + (describe "switch hooks" + :var (before-hook after-hook a b) + (before-each + (setq a (switch-to-buffer (get-buffer-create "a")) + b (get-buffer-create "b")) + (spy-on 'before-hook) + (spy-on 'after-hook) + (doom|init-switch-hooks)) + (after-each + (doom|init-switch-hooks 'disable) + (kill-buffer a) + (kill-buffer b)) + + (describe "switch-buffer" + :var (doom-exit-buffer-hook + doom-enter-buffer-hook) + (before-each + (setq doom-exit-buffer-hook '(before-hook) + doom-enter-buffer-hook '(after-hook))) + (after-each + (setq doom-exit-buffer-hook nil + doom-enter-buffer-hook nil)) + + (it "should trigger when switching buffers" + (switch-to-buffer b) + (switch-to-buffer a) + (switch-to-buffer b) + (expect 'before-hook :to-have-been-called-times 3) + (expect 'after-hook :to-have-been-called-times 3)) + + (it "should trigger only once on the same buffer" + (switch-to-buffer b) + (switch-to-buffer b) + (switch-to-buffer a) + (expect 'before-hook :to-have-been-called-times 2) + (expect 'after-hook :to-have-been-called-times 2))) + + + (describe "switch-window" + :var (doom-exit-window-hook + doom-enter-window-hook + x y) + (before-each + (delete-other-windows) + (setq x (get-buffer-window a) + y (save-selected-window (split-window))) + (with-selected-window y + (switch-to-buffer b)) + (select-window x) + (spy-calls-reset 'before-hook) + (spy-calls-reset 'after-hook) + (setq doom-exit-window-hook '(before-hook) + doom-enter-window-hook '(after-hook))) + + (it "should trigger when switching windows" + (select-window y) + (select-window x) + (select-window y) + (expect 'before-hook :to-have-been-called-times 3) + (expect 'after-hook :to-have-been-called-times 3)) + + (it "should trigger only once on the same window" + (select-window y) + (select-window y) + (select-window x) + (expect 'before-hook :to-have-been-called-times 2) + (expect 'after-hook :to-have-been-called-times 2))))))