<feed xmlns='http://www.w3.org/2005/Atom'>
<title>org-drill/tests/test-org-drill-orchestration-helpers.el, branch main</title>
<subtitle>Spaced-repetition flashcards for Org Mode
</subtitle>
<id>https://git.cjennings.net/org-drill/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/org-drill/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/'/>
<updated>2026-05-28T01:47:35+00:00</updated>
<entry>
<title>refactor: thread card-state struct through the item-data round-trip</title>
<updated>2026-05-28T01:47:35+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-28T01:47:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=39d01b75ac679410821ce5e16c09ec6b7799f791'/>
<id>urn:sha1:39d01b75ac679410821ce5e16c09ec6b7799f791</id>
<content type='text'>
Second step of #147. get-item-data now returns an org-drill-card-state and store-item-data takes one, so the six recall fields move as named slots instead of a positional list. The three call sites (smart-reschedule, hypothetical-next-review-date, copy-scheduling-to-marker) read scheduler inputs through accessors and build a struct for the store, which removes the hand re-ordering between the get-shape and the store-shape.

Behavior is unchanged. The legacy LEARN_DATA read path and the virgin-item sentinel are preserved field-for-field, and store takes just the struct because its last-interval slot already holds the interval to persist. The schedulers still take positional args; they adopt the struct in the following commits.

I updated the round-trip, integration, and setup-helper tests to build and read the struct via a small list-view helper, so the existing expected-value assertions stay readable.
</content>
</entry>
<entry>
<title>test: cover marker end-pos, variable-pitch restore, young/overdue queue branches</title>
<updated>2026-05-05T19:19:09+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-05T19:19:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=c159b236b8fe4dc0b2454475c2ca3f699e42ab07'/>
<id>urn:sha1:c159b236b8fe4dc0b2454475c2ca3f699e42ab07</id>
<content type='text'>
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%.
</content>
</entry>
<entry>
<title>test: cover orchestration helpers extracted during refactor</title>
<updated>2026-05-05T18:59:08+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-05T18:59:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=63713acf8238aceee199a5f595fda6470c633939'/>
<id>urn:sha1:63713acf8238aceee199a5f595fda6470c633939</id>
<content type='text'>
I added 16 ERT tests for the helpers carved out of org-drill and
org-drill-merge-buffers in the recent refactor pass: prepare-fresh-session,
queues-empty-p, collect-entries, show-resume-hint, show-end-message,
build-dest-id-table, copy-scheduling-to-marker, and
strip-unmatched-dest-entries.

The clean-completion test for show-end-message binds
org-drill-save-buffers-after-drill-sessions-p to nil so the dispatcher
doesn't trip save-some-buffers' interactive prompt under batch ERT.
</content>
</entry>
</feed>
