branch: elpa/org-drill
commit 78d34720331d44d586ca34733d37f9feef35ffe9
Author: Brandon Webster <[email protected]>
Commit: Brandon Webster <[email protected]>
add cram-mode test
---
robot/cram-run.el | 24 ++++++++++++++++++++++++
robot/cram-run.sh | 39 +++++++++++++++++++++++++++++++++++++++
2 files changed, 63 insertions(+)
diff --git a/robot/cram-run.el b/robot/cram-run.el
new file mode 100644
index 0000000000..a754013df4
--- /dev/null
+++ b/robot/cram-run.el
@@ -0,0 +1,24 @@
+(load-file "robot/robot.el")
+(load-file "org-drill.el")
+
+;; setup
+(copy "basic-run.org" "cram-run-copy.org")
+
+;; normal run
+(find "cram-run-copy.org")
+(org-drill)
+(set-buffer-modified-p nil)
+(kill-buffer)
+(robot-check-cards-seen 3)
+
+;; cram run with all cards reviewed less than `org-drill-cram-hours`
+;; ago, so we expect no new cards to be seen
+(find "cram-run-copy.org")
+(org-drill-cram)
+(robot-check-cards-seen 3)
+
+;; cram run that should include all cards, so we expect seen cards to
+;; double
+(setq org-drill-cram-hours 0)
+(org-drill-cram)
+(robot-check-cards-seen-and-die 6)
diff --git a/robot/cram-run.sh b/robot/cram-run.sh
new file mode 100755
index 0000000000..a4d6ec9b5a
--- /dev/null
+++ b/robot/cram-run.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+
+set -e
+
+this_dir="$(dirname "$0")"
+source ${this_dir}/robot.sh
+
+card_no=3
+
+# cram mode doesn't modify the buffer so there is no save prompt
+function run_drill_no_save {
+ sleep_small
+
+ for i in `seq 1 ${card_no}`;
+ do
+ echo Answer: "$i"
+ send_answer
+ done
+
+ echo press any key to continue
+ retn
+}
+
+function run_drill {
+ run_drill_no_save
+ echo Save file
+ key y
+}
+
+
+launch_emacs ${this_dir}/cram-run.el
+
+{
+ find_bot
+ run_drill
+ retn
+ run_drill_no_save
+ wait_emacs
+} || cat robot/failure.txt