Merge "Fix GPG test"
[trojita.git] / tests / Imap / test_Imap_Threading.h
blob49328764b4393201f15f510a5755520e36a074da
1 /* Copyright (C) 2006 - 2014 Jan Kundrát <jkt@flaska.net>
3 This file is part of the Trojita Qt IMAP e-mail client,
4 http://trojita.flaska.net/
6 This program is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License as
8 published by the Free Software Foundation; either version 2 of
9 the License or (at your option) version 3 or any later version
10 accepted by the membership of KDE e.V. (or its successor approved
11 by the membership of KDE e.V.), which shall act as a proxy
12 defined in Section 14 of version 3 of the license.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
23 #ifndef TEST_IMAP_THREADING
24 #define TEST_IMAP_THREADING
26 #include "Utils/LibMailboxSync.h"
28 typedef QMap<QString, int> Mapping;
29 typedef QMap<QString, QPersistentModelIndex> IndexMapping;
31 /** @short Test the THREAD response processing and the ThreadingMsgListModel's correctness */
32 class ImapModelThreadingTest : public LibMailboxSync
34 Q_OBJECT
35 private slots:
36 void testStaticThreading();
37 void testStaticThreading_data();
38 void testDynamicThreading();
39 void testThreadDeletionsAdditions();
40 void testThreadDeletionsAdditions_data();
41 void testDynamicSorting();
42 void testDynamicSortingContext();
43 void testDynamicSearch();
44 void testIncrementalThreading();
45 void testRemovingRootWithThreadingInFlight();
46 void testMultipleExpunges();
47 void testVanishedHierarchyReplacement();
48 void testDataChangedUnknownUid();
49 void testThreadingPerformance();
50 void testSortingPerformance();
51 void testSearchingPerformance();
52 void testFlatThreadDeletionPerformance();
53 void testESearchResults();
55 void helper_multipleExpunges();
56 protected slots:
57 virtual void init();
58 private:
59 void complexMapping(Mapping &m, QByteArray &response);
60 static QByteArray prepareHugeUntaggedThread(const uint num);
62 void verifyMapping(const Mapping &mapping);
63 QModelIndex findItem(const QString &where);
64 IndexMapping buildIndexMap(const Mapping &mapping);
65 void verifyIndexMap(const IndexMapping &indexMap, const Mapping &map);
66 QByteArray treeToThreading(QModelIndex index);
67 QByteArray numListToString(const Imap::Uids &seq);
69 QPersistentModelIndex helper_indexMultipleExpunges_1;
70 int helper_multipleExpunges_hit;
73 #endif