diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-14 18:38:50 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-14 18:38:50 +0200 |
| commit | bf715fe78c3c39a658f2d3446648bc07c775589d (patch) | |
| tree | ab7c8731323c5f5971eb19b9eada1ed1fc60d7d3 /docs/superpowers/specs | |
| parent | 854c850972b949b8124744c9af83d812ab98b208 (diff) | |
| download | qtmaildir-bf715fe78c3c39a658f2d3446648bc07c775589d.tar.gz qtmaildir-bf715fe78c3c39a658f2d3446648bc07c775589d.zip | |
test(mainwindow): give it a real worker, and probe item 66
WorkerBackedWindow builds a throwaway notmuch database, writes a config
pointing at it, and hands back a Config. Opt-in per test: the fifty-odd
existing cases construct a bare window and pay nothing.
No production change. wireWorker() already builds the worker from
m_config.notmuchConfig(), so a written qtmaildir.conf exercises the
shipping path rather than a parallel one built for tests.
Three findings, each of which had made an earlier version of this test
worthless:
The worker is unreachable by findChild. wireWorker() creates it
parentless and moves it to its own thread, so the tests wait with
QTRY_VERIFY on observable state instead of on worker signals.
rowCount on a thread row is 0 until the thread is expanded, since
children are populated by the expansion. hasChildren is the correct
pre-expansion assertion and also proves the two messages threaded.
currentThreadId() is assigned synchronously in the selection handler,
before any worker round-trip, so it reports intent rather than content:
the test passed with onThreadLoaded() disabled entirely. It asserts on
MessageView::showingPlaceholder() now, checked blank before the click so
the check after it means something, and mutation-confirmed to fail when
the load is disabled.
Item 66 does NOT reproduce here: selecting an unexpanded thread root in
a two-message thread shows the message. Recorded rather than widened.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'docs/superpowers/specs')
0 files changed, 0 insertions, 0 deletions
