aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_mainwindow.cpp
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-17 19:58:51 +0200
committerDanilo M. <danix@danix.xyz>2026-08-17 19:58:51 +0200
commitd5e9ec157946635294001b57ce8353a109ec5051 (patch)
tree74a2f72973d1535d684b76cb24d4bc3118bb35a3 /tests/test_mainwindow.cpp
parent9899b9af523ad2aef55300c9132d21a687a0a19d (diff)
downloadqtmaildir-d5e9ec157946635294001b57ce8353a109ec5051.tar.gz
qtmaildir-d5e9ec157946635294001b57ce8353a109ec5051.zip
feat(config): add the trash query generator
Adds trash as a fifth built-in query filter beside Unread, Inbox, Important and Sent, composing per-account exactly as Sent does: Config::resolvedQuery() asks each account for its own trashQuery() rather than wrapping the all-accounts union, and an account with no trash folder resolves to matchNothingQuery() rather than "match everything". Also gives the Trash button a toolbar icon (user-trash) and a trash key to the mainwindow fixture that asserts every filter button carries one; without it the button is skipped from the row entirely (no account configured a trash folder), and the existing icon test found no button to check.
Diffstat (limited to 'tests/test_mainwindow.cpp')
-rw-r--r--tests/test_mainwindow.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/tests/test_mainwindow.cpp b/tests/test_mainwindow.cpp
index b188ef4..7316689 100644
--- a/tests/test_mainwindow.cpp
+++ b/tests/test_mainwindow.cpp
@@ -7922,10 +7922,20 @@ void TestMainWindow::everyBuiltinFilterButtonCarriesAnIconAndItsText()
// which is the same argument the Save button records.
QTemporaryDir dir;
QVERIFY(dir.isValid());
- Config config;
- config.load(writeSentConfig(dir, {
+ const QString path = writeSentConfig(dir, {
{QStringLiteral("work"), QStringLiteral("Sent")},
- }));
+ });
+ // A trash key too, or the Trash filter finds nothing and is skipped from
+ // the row entirely (item 103), leaving no trashButton for this loop to
+ // find.
+ {
+ QSettings s(path, QSettings::IniFormat);
+ s.beginGroup(QStringLiteral("account.work"));
+ s.setValue(QStringLiteral("trash"), QStringLiteral("Trash"));
+ s.endGroup();
+ }
+ Config config;
+ config.load(path);
MainWindow window(config);