1 /* This file is part of the KDE project
2 SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.net>
3 SPDX-FileContributor: Kevin Krammer <krake@kdab.com>
4
5 SPDX-License-Identifier: LGPL-2.0-or-later
6 */
7
8 #include "testdatautil.h"
9
10 #include <QTemporaryDir>
11
12 #include <QDir>
13 #include <QTest>
14
15 class TestDataTest : public QObject
16 {
17 Q_OBJECT
18 public:
TestDataTest()19 TestDataTest()
20 {
21 }
22
23 private Q_SLOTS:
24 void testResources();
25 void testInstall();
26 };
27
testResources()28 void TestDataTest::testResources()
29 {
30 const QStringList testDataNames = TestDataUtil::testDataNames();
31 QCOMPARE(testDataNames,
32 QStringList() << QStringLiteral("dimap") << QStringLiteral("maildir") << QStringLiteral("maildir-tagged") << QStringLiteral("mbox")
33 << QStringLiteral("mbox-tagged") << QStringLiteral("mbox-unpurged"));
34
35 for (const QString &testDataName : testDataNames) {
36 if (testDataName.startsWith(QLatin1String("mbox"))) {
37 QVERIFY(TestDataUtil::folderType(testDataName) == TestDataUtil::MBoxFolder);
38 } else {
39 QVERIFY(TestDataUtil::folderType(testDataName) == TestDataUtil::MaildirFolder);
40 }
41 }
42
43 // TODO check contents?
44 }
45
testInstall()46 void TestDataTest::testInstall()
47 {
48 QTemporaryDir dir;
49 QDir installDir(dir.path());
50 QDir curDir;
51
52 const QString indexFilePattern = QStringLiteral(".%1.index");
53
54 QVERIFY(TestDataUtil::installFolder(QLatin1String("mbox"), dir.path(), QStringLiteral("mbox1")));
55 QVERIFY(installDir.exists(QLatin1String("mbox1")));
56 QVERIFY(installDir.exists(indexFilePattern.arg(QLatin1String("mbox1"))));
57
58 QVERIFY(TestDataUtil::installFolder(QLatin1String("mbox-tagged"), dir.path(), QStringLiteral("mbox2")));
59 QVERIFY(installDir.exists(QLatin1String("mbox2")));
60 QVERIFY(installDir.exists(indexFilePattern.arg(QLatin1String("mbox2"))));
61
62 QVERIFY(TestDataUtil::installFolder(QLatin1String("maildir"), dir.path(), QStringLiteral("md1")));
63 QVERIFY(installDir.exists(QLatin1String("md1")));
64 QVERIFY(installDir.exists(QLatin1String("md1/new")));
65 QVERIFY(installDir.exists(QLatin1String("md1/cur")));
66 QVERIFY(installDir.exists(QLatin1String("md1/tmp")));
67 QVERIFY(installDir.exists(indexFilePattern.arg(QLatin1String("md1"))));
68
69 curDir = installDir;
70 curDir.cd(QStringLiteral("md1"));
71 curDir.cd(QStringLiteral("cur"));
72 curDir.setFilter(QDir::Files);
73 QCOMPARE((int)curDir.count(), 4);
74
75 QVERIFY(TestDataUtil::installFolder(QLatin1String("maildir-tagged"), dir.path(), QStringLiteral("md2")));
76 QVERIFY(installDir.exists(QLatin1String("md2")));
77 QVERIFY(installDir.exists(QLatin1String("md2/new")));
78 QVERIFY(installDir.exists(QLatin1String("md2/cur")));
79 QVERIFY(installDir.exists(QLatin1String("md2/tmp")));
80 QVERIFY(installDir.exists(indexFilePattern.arg(QLatin1String("md2"))));
81
82 curDir = installDir;
83 curDir.cd(QStringLiteral("md2"));
84 curDir.cd(QStringLiteral("cur"));
85 curDir.setFilter(QDir::Files);
86 QCOMPARE((int)curDir.count(), 4);
87 }
88
89 #include "testdatatest.moc"
90
91 QTEST_MAIN(TestDataTest)
92