<feed xmlns='http://www.w3.org/2005/Atom'>
<title>org-drill/tests/test-org-drill-additional-coverage.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: replace-multi, map-entry-function, sm2/simple8 schedulers</title>
<updated>2026-05-05T09:57:59+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-05T09:57:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=e09e001f7c6fb95074414facae64e01515c7a82c'/>
<id>urn:sha1:e09e001f7c6fb95074414facae64e01515c7a82c</id>
<content type='text'>
9 ERT tests filling small gaps in coverage:

- replace-entry-text-multi: N replacements → N overlays, each
  showing the matching string via display prop
- map-entry-function: virgin entry → new-entries, future-scheduled
  entry → dormant-entry-count (not new), non-drill skipped
- smart-reschedule with org-drill-spaced-repetition-algorithm bound
  to sm2 and simple8 (default tests covered sm5)
- smart-reschedule with DRILL_CARD_WEIGHT
- entries-pending-p: overdue queue alone keeps session pending
</content>
</entry>
</feed>
