| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A batch of test-coverage and hardening work, squashed from the test-work branch.
Tests: deduplicated a colliding leitner-capture test name so make test-name loads again. Added SM2 assert-failure cases, the six basic multicloze variant delegations, the three English-side spanish-verb branches, and org-drill-current-scope branch coverage.
Fix: the entry-point commands (org-drill itself, cram-tree, tree, directory, resume, relearn-item, strip-all-data, merge-buffers) carried no autoload cookies, so M-x failed from a fresh install until something pulled the file in. They're autoloaded now.
Perf: org-drill-shuffle was quadratic because it indexed a list with elt on every swap. It runs a linear Fisher-Yates pass over a vector now, and it checks its argument is a list.
Feat: added org-drill-version, a constant plus an interactive command, so a bug reporter doesn't have to open the file header.
Refactor: extracted org-drill--format-tense-mood, shared by the two verb-conjugation presenters that each carried a copy.
Docs: explained the SM8 magic numbers in the simple8 helpers as empirical fits rather than tunable knobs.
|
|
|
17 ERT tests covering:
- org-drill-swap: distinct indices, same-index no-op, end-to-start
- org-drill-shuffle: preserves element multiset, empty list, singleton
- org-drill-pop-random: removes-one, nil-on-empty, empties singleton
- org-drill-hide-comments: per-line overlay, no-op on comment-free buffer
- org-drill-hide-drawers: PROPERTIES drawer, multiple drawers, no-op
on drawer-free entry
- org-drill-leitner-promote: box-N → box-(N+1), graduation at box 5
(with and without org-drill-leitner-promote-to-drill-p flag)
|