aboutsummaryrefslogtreecommitdiff
path: root/tests/test-org-drill-orchestration-helpers.el
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-org-drill-orchestration-helpers.el')
-rw-r--r--tests/test-org-drill-orchestration-helpers.el22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test-org-drill-orchestration-helpers.el b/tests/test-org-drill-orchestration-helpers.el
index 920487c..5589fa7 100644
--- a/tests/test-org-drill-orchestration-helpers.el
+++ b/tests/test-org-drill-orchestration-helpers.el
@@ -153,6 +153,28 @@
(should final-report-shown)
(should-not resume-hint-shown))))
+(ert-deftest test-show-end-message-marker-end-pos-jumps-to-marker ()
+ "When end-pos is a live marker, dispatcher navigates to it before showing
+the resume hint."
+ (let ((tmpfile (make-temp-file "org-drill-end-pos-" nil ".org")))
+ (unwind-protect
+ (let ((session (org-drill-session))
+ (jumped-to nil))
+ (with-current-buffer (find-file-noselect tmpfile)
+ (insert "* First :drill:\n* Second :drill:\nbody\n")
+ (org-mode)
+ (goto-char (point-max))
+ (let ((m (point-marker)))
+ (oset session end-pos m)
+ (cl-letf (((symbol-function 'org-drill-goto-entry)
+ (lambda (mk) (setq jumped-to mk)))
+ ((symbol-function 'org-reveal) #'ignore)
+ ((symbol-function 'org-fold-show-entry) #'ignore)
+ ((symbol-function 'org-drill--show-resume-hint) #'ignore))
+ (org-drill--show-end-message session)
+ (should (eq jumped-to m))))))
+ (when (file-exists-p tmpfile) (delete-file tmpfile)))))
+
;;;; org-drill--build-dest-id-table
(ert-deftest test-build-dest-id-table-populates-id-marker-pairs ()