aboutsummaryrefslogtreecommitdiff
path: root/tests/test-org-drill-display-state.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-05 14:19:09 -0500
committerCraig Jennings <c@cjennings.net>2026-05-05 14:19:09 -0500
commitc159b236b8fe4dc0b2454475c2ca3f699e42ab07 (patch)
tree2338f614f491a62c8d2e7e4e1dac71826ccbca46 /tests/test-org-drill-display-state.el
parent657f494c2ae157fe11bcab1fab0d787dc1fa9752 (diff)
downloadorg-drill-c159b236b8fe4dc0b2454475c2ca3f699e42ab07.tar.gz
org-drill-c159b236b8fe4dc0b2454475c2ca3f699e42ab07.zip
test: cover marker end-pos, variable-pitch restore, young/overdue queue branches
I extended three existing test files with cases that hit branches the suite was missing: `org-drill--show-end-message' with a live-marker end-pos (jumps to the marker), `org-drill--restore-display' for the variable-pitch-on / variable-pitch-off / text-scale paths, and `org-drill-pop-next-pending-entry' for the young-mature and overdue branches in the queue priority cond. Coverage moved from 87.0% to 87.8%.
Diffstat (limited to 'tests/test-org-drill-display-state.el')
-rw-r--r--tests/test-org-drill-display-state.el50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/test-org-drill-display-state.el b/tests/test-org-drill-display-state.el
index baad0a3..000a007 100644
--- a/tests/test-org-drill-display-state.el
+++ b/tests/test-org-drill-display-state.el
@@ -84,6 +84,56 @@
(org-drill--restore-display)
(should (null org-drill--saved-display-buffer)))))
+(ert-deftest test-restore-display-restores-variable-pitch-mode ()
+ "Restore turns variable-pitch-mode back on in the saved-display-buffer
+when it was active at session start."
+ (with-temp-buffer
+ (let ((toggled nil))
+ (cl-letf (((symbol-function 'variable-pitch-mode)
+ (lambda (arg) (setq toggled arg))))
+ (let ((org-drill-text-size-during-session nil)
+ (org-drill-use-variable-pitch t)
+ (org-drill-hide-modeline-during-session nil)
+ (org-drill--saved-display-buffer (current-buffer))
+ (org-drill--saved-text-scale nil)
+ (org-drill--saved-variable-pitch-mode t)
+ (org-drill--saved-modeline-format nil))
+ (org-drill--restore-display)
+ (should (= 1 toggled))
+ (should (null org-drill--saved-variable-pitch-mode)))))))
+
+(ert-deftest test-restore-display-disables-variable-pitch-when-it-was-off ()
+ "Restore turns variable-pitch-mode off when it was off at session start."
+ (with-temp-buffer
+ (let ((toggled nil))
+ (cl-letf (((symbol-function 'variable-pitch-mode)
+ (lambda (arg) (setq toggled arg))))
+ (let ((org-drill-text-size-during-session nil)
+ (org-drill-use-variable-pitch t)
+ (org-drill-hide-modeline-during-session nil)
+ (org-drill--saved-display-buffer (current-buffer))
+ (org-drill--saved-text-scale nil)
+ (org-drill--saved-variable-pitch-mode nil)
+ (org-drill--saved-modeline-format nil))
+ (org-drill--restore-display)
+ (should (= -1 toggled)))))))
+
+(ert-deftest test-restore-display-restores-text-scale ()
+ "Restore puts the default face's :height back to the saved value."
+ (let ((set-args nil))
+ (cl-letf (((symbol-function 'set-face-attribute)
+ (lambda (&rest args) (push args set-args))))
+ (let ((org-drill-text-size-during-session 14)
+ (org-drill-use-variable-pitch nil)
+ (org-drill-hide-modeline-during-session nil)
+ (org-drill--saved-display-buffer (current-buffer))
+ (org-drill--saved-text-scale 100)
+ (org-drill--saved-variable-pitch-mode 'unbound)
+ (org-drill--saved-modeline-format nil))
+ (org-drill--restore-display)
+ (should (cl-some (lambda (a) (memq 100 a)) set-args))
+ (should (null org-drill--saved-text-scale))))))
+
;;;; org-drill-current-scope (directory branch)
(ert-deftest test-org-drill-current-scope-directory-returns-org-files-list ()