aboutsummaryrefslogtreecommitdiff
path: root/tests/test-org-agenda-config--base-files.el
blob: c6939b4d774340d05cc5edb00fa715b40bfcfc7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
;;; test-org-agenda-config--base-files.el --- Tests for the agenda base-file helper -*- lexical-binding: t; -*-

;;; Commentary:
;; cj/--org-agenda-base-files is the single source of the fixed agenda base list
;; (inbox, schedule, and the three calendars) that was previously spelled out as
;; a literal in three places.  The path vars are special (defvar'd in
;; user-constants), so they can be dynamically bound here.

;;; Code:

(require 'ert)

(add-to-list 'load-path (expand-file-name "modules" user-emacs-directory))
(require 'org-agenda-config)

(ert-deftest test-org-agenda-base-files-returns-fixed-list-in-order ()
  "Normal: returns inbox, schedule, gcal, pcal, dcal in that order."
  (let ((inbox-file "/i")
        (schedule-file "/s")
        (gcal-file "/g")
        (pcal-file "/p")
        (dcal-file "/d"))
    (should (equal (cj/--org-agenda-base-files)
                   '("/i" "/s" "/g" "/p" "/d")))))

(ert-deftest test-org-agenda-base-files-reflects-current-values ()
  "Boundary: the helper reads the vars at call time (not a captured snapshot)."
  (let ((inbox-file "first")
        (schedule-file "x") (gcal-file "x") (pcal-file "x") (dcal-file "x"))
    (should (equal (car (cj/--org-agenda-base-files)) "first"))
    (setq inbox-file "second")
    (should (equal (car (cj/--org-agenda-base-files)) "second"))
    (should (= (length (cj/--org-agenda-base-files)) 5))))

(provide 'test-org-agenda-config--base-files)
;;; test-org-agenda-config--base-files.el ends here