aboutsummaryrefslogtreecommitdiff
path: root/tests/testutil-events.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-10 16:36:47 -0500
committerCraig Jennings <c@cjennings.net>2026-05-10 16:36:47 -0500
commit3c64dac1b98049d475be838294349326c32248ae (patch)
tree626917ca3660d34b48195a77123b1def3d418282 /tests/testutil-events.el
parent0772736d2bca36472f623d5258784f41db9b4f9a (diff)
downloadchime-3c64dac1b98049d475be838294349326c32248ae.tar.gz
chime-3c64dac1b98049d475be838294349326c32248ae.zip
feat: tighten chime runtime validation and tooltip behavior
Diffstat (limited to 'tests/testutil-events.el')
-rw-r--r--tests/testutil-events.el19
1 files changed, 16 insertions, 3 deletions
diff --git a/tests/testutil-events.el b/tests/testutil-events.el
index 0ee3d57..91fdcfc 100644
--- a/tests/testutil-events.el
+++ b/tests/testutil-events.el
@@ -128,9 +128,9 @@ Example:
(list (cons ts-str time))
'((10 . medium)))))
(should (string= \"Meeting\" (cdr (assoc 'title event)))))"
- `((times . ,time-alist)
- (title . ,title)
- (intervals . ,(or intervals '((10 . medium))))))
+ (chime--make-event time-alist
+ title
+ (or intervals '((10 . medium)))))
(defun test-make-simple-event (title time &optional interval-minutes severity)
"Create simple event data structure with single time and interval.
@@ -182,6 +182,19 @@ Example:
`(let ((,events-var (test-gather-events-from-content ,content)))
,@body))
+(defmacro with-chime-tooltip-from-content (content tooltip-var &rest body)
+ "Create org CONTENT, update modeline events, and bind TOOLTIP-VAR.
+The helper keeps modeline globals dynamically isolated so tests can assert on
+tooltip text without leaking `chime--upcoming-events' or `chime-modeline-string'."
+ (declare (indent 2))
+ (let ((events-var (make-symbol "events")))
+ `(let ((chime--upcoming-events nil)
+ (chime-modeline-string nil))
+ (with-gathered-events ,content ,events-var
+ (chime--update-modeline ,events-var)
+ (let ((,tooltip-var (chime--make-tooltip chime--upcoming-events)))
+ ,@body)))))
+
;;; Setup/Teardown Helpers
(defun test-standard-setup ()