Plugin loader + runner shortcut moves to Ctrl+Shift+Alt+T (the old
Ctrl+Shift+T conflicts with the browser "reopen closed tab"). Loader
now imports runner.js *without* the cache-busting query so it picks
up the same module instance the test files register their suites
into — previously the shortcut opened a fresh runner with an empty
suites array and reported 0/0 passed.
New / fixed coverage:
- card-interactions: favorite toggle assertion is now case-insensitive
(context menu was capitalized to "Unfavorite"/"Favorite" earlier);
done-badge test guards against state.hideDone / hideTagged that would
filter the test card off the board; new test for the always-on
Mark done / Unmark done toggle on a card without due_date.
- context-menu: copy-text action exists; copy-text strips fenced code
blocks, image markdown and inline #tags. Mocks navigator.clipboard
via Object.defineProperty so the assertion works without a focused
/ secure-context clipboard.
- export: round-trip preserves a custom bucket color (covers the import
handler regression that was wiping bucket colors on every test run).
- theme: design preset selection persists in localStorage across
settings open/close, refreshPresetSelect ignores unknown keys.
afterEach restores both hyprcrd-design-active-preset and
hyprcrd-design so a test run can't permanently swap the user's
design.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>