File indexing completed on 2024-12-01 04:35:26
0001 /* 0002 SPDX-FileCopyrightText: 2021-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "retentioninfotest.h" 0008 #include "retentioninfo.h" 0009 #include "ruqola_autotest_helper.h" 0010 #include <QJsonObject> 0011 0012 QTEST_GUILESS_MAIN(RetentionInfoTest) 0013 RetentionInfoTest::RetentionInfoTest(QObject *parent) 0014 : QObject(parent) 0015 { 0016 } 0017 0018 void RetentionInfoTest::shouldHaveDefaultValues() 0019 { 0020 RetentionInfo info; 0021 QVERIFY(!info.enabled()); 0022 QVERIFY(!info.overrideGlobal()); 0023 QVERIFY(!info.excludePinned()); 0024 QVERIFY(!info.filesOnly()); 0025 QCOMPARE(info.maxAge(), -1); 0026 } 0027 0028 void RetentionInfoTest::shouldLoadRetention_data() 0029 { 0030 QTest::addColumn<QString>("name"); 0031 QTest::addColumn<RetentionInfo>("retentionInfo"); 0032 RetentionInfo info; 0033 info.setMaxAge(32); 0034 info.setEnabled(true); 0035 info.setExcludePinned(false); 0036 info.setFilesOnly(true); 0037 info.setOverrideGlobal(true); 0038 QTest::addRow("retention") << QStringLiteral("retention") << info; 0039 } 0040 0041 void RetentionInfoTest::shouldLoadRetention() 0042 { 0043 QFETCH(QString, name); 0044 QFETCH(RetentionInfo, retentionInfo); 0045 const QString originalJsonFile = QLatin1String(RUQOLA_DATA_DIR) + QLatin1String("/retention/") + name + QLatin1String(".json"); 0046 const QJsonObject obj = AutoTestHelper::loadJsonObject(originalJsonFile); 0047 0048 RetentionInfo r; 0049 r.parseRetentionInfo(obj); 0050 const bool equalOwner = (r == retentionInfo); 0051 if (!equalOwner) { 0052 qDebug() << "ACTUAL " << r; 0053 qDebug() << "EXPECTED " << retentionInfo; 0054 } 0055 QVERIFY(equalOwner); 0056 } 0057 0058 #include "moc_retentioninfotest.cpp"