summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test-org-agenda-config-display.el49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/test-org-agenda-config-display.el b/tests/test-org-agenda-config-display.el
new file mode 100644
index 00000000..af4c7ea0
--- /dev/null
+++ b/tests/test-org-agenda-config-display.el
@@ -0,0 +1,49 @@
+;;; test-org-agenda-config-display.el --- Tests for org agenda display rule -*- lexical-binding: t; -*-
+
+;;; Commentary:
+;; Tests for the display-buffer rule used by the F8 org agenda view.
+
+;;; Code:
+
+(require 'ert)
+
+(add-to-list 'load-path (expand-file-name "modules" user-emacs-directory))
+(require 'org-agenda-config)
+
+(ert-deftest test-org-agenda-config-display-rule-uses-configured-height ()
+ "Normal: the agenda display rule uses the configured frame fraction."
+ (let ((cj/org-agenda-window-height 0.75))
+ (should (equal (cdr (assoc 'window-height
+ (cddr (cj/--org-agenda-display-rule))))
+ 0.75))))
+
+(ert-deftest test-org-agenda-config-display-rule-does-not-fit-to-buffer ()
+ "Regression: F8 agenda should not shrink to fit compact agenda contents."
+ (let ((cj/org-agenda-window-height 0.75))
+ (should-not (eq (cdr (assoc 'window-height
+ (cddr (cj/--org-agenda-display-rule))))
+ 'fit-window-to-buffer))))
+
+(ert-deftest test-org-agenda-config-display-rule-creates-large-window ()
+ "Integration: the agenda rule creates a window near the configured height."
+ (let ((cj/org-agenda-window-height 0.75)
+ (display-buffer-alist (list (cj/--org-agenda-display-rule)))
+ (buffer (get-buffer-create "*Org Agenda*")))
+ (unwind-protect
+ (save-window-excursion
+ (delete-other-windows)
+ (with-current-buffer buffer
+ (erase-buffer)
+ (dotimes (_ 3)
+ (insert "agenda line\n")))
+ (let* ((before-height (window-total-height))
+ (window (display-buffer buffer))
+ (actual-ratio (/ (float (window-total-height window))
+ before-height)))
+ (should (= 2 (length (window-list))))
+ (should (> actual-ratio 0.65))
+ (should (< actual-ratio 0.85))))
+ (kill-buffer buffer))))
+
+(provide 'test-org-agenda-config-display)
+;;; test-org-agenda-config-display.el ends here