aboutsummaryrefslogtreecommitdiff
path: root/tests/test-org-drill-entry-text-limit.el
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-org-drill-entry-text-limit.el')
-rw-r--r--tests/test-org-drill-entry-text-limit.el34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/test-org-drill-entry-text-limit.el b/tests/test-org-drill-entry-text-limit.el
new file mode 100644
index 0000000..c9466cc
--- /dev/null
+++ b/tests/test-org-drill-entry-text-limit.el
@@ -0,0 +1,34 @@
+;;; test-org-drill-entry-text-limit.el --- Tests for the entry-text line limit -*- lexical-binding: t; -*-
+
+;;; Commentary:
+;; org-drill-get-entry-text asks org-agenda for at most N lines of an entry's
+;; text. That limit used to be a hardcoded 100; it is now the defcustom
+;; org-drill-entry-text-max-lines so a user with very long cards can raise it.
+
+;;; Code:
+
+(require 'ert)
+(require 'cl-lib)
+(require 'org-drill)
+
+(ert-deftest test-org-drill-entry-text-max-lines-defaults-to-100 ()
+ "The limit keeps its historical default of 100 lines."
+ (should (eq 100 (default-value 'org-drill-entry-text-max-lines))))
+
+(ert-deftest test-org-drill-get-entry-text-uses-the-custom-limit ()
+ "get-entry-text passes the defcustom value as the line limit, not a
+hardcoded number."
+ (let ((org-drill-entry-text-max-lines 7)
+ (captured nil))
+ (cl-letf (((symbol-function 'org-agenda-get-some-entry-text)
+ (lambda (_marker n &rest _) (setq captured n) "text")))
+ (with-temp-buffer
+ (insert "* Card :drill:\nbody\n")
+ (org-mode)
+ (goto-char (point-min))
+ (org-drill-get-entry-text))
+ (should (eq 7 captured)))))
+
+(provide 'test-org-drill-entry-text-limit)
+
+;;; test-org-drill-entry-text-limit.el ends here