File indexing completed on 2024-04-28 05:18:34
0001 /* 0002 SPDX-FileCopyrightText: 2009 Bertjan Broeksema <broeksema@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QObject> 0010 #include <QThread> 0011 0012 #include "mbox.h" 0013 0014 class QTemporaryDir; 0015 0016 class MboxTest : public QObject 0017 { 0018 Q_OBJECT 0019 private Q_SLOTS: 0020 void initTestCase(); 0021 void testSetLockMethod(); 0022 void testLockBeforeLoad(); 0023 void testProcMailLock(); 0024 void testConcurrentAccess(); 0025 void testAppend(); 0026 void testSaveAndLoad(); 0027 void testBlankLines(); 0028 void testLockTimeout(); 0029 void cleanupTestCase(); 0030 void testEntries(); 0031 void testPurge(); 0032 void testHeaders(); 0033 void testReadOnlyMbox(); 0034 0035 private: 0036 QString fileName(); 0037 QString lockFileName(); 0038 void removeTestFile(); 0039 0040 private: 0041 QTemporaryDir *mTempDir = nullptr; 0042 KMime::Message::Ptr mMail1; 0043 KMime::Message::Ptr mMail2; 0044 }; 0045 0046 class ThreadFillsMBox : public QThread 0047 { 0048 Q_OBJECT 0049 0050 public: 0051 explicit ThreadFillsMBox(const QString &fileName); 0052 0053 protected: 0054 void run() override; 0055 0056 private: 0057 KMBox::MBox *mbox = nullptr; 0058 };