File indexing completed on 2024-05-12 15:55:37
0001 // SPDX-FileCopyrightText: 2021 Johannes Zarl-Zierl <johannes@zarl-zierl.at> 0002 // 0003 // SPDX-License-Identifier: LicenseRef-KDE-Accepted-GPL 0004 0005 #include "TestExifDatabase.h" 0006 0007 #include "Database.h" 0008 0009 #include <kpabase/SettingsData.h> 0010 #include <kpabase/UIDelegate.h> 0011 0012 #include <QLoggingCategory> 0013 #include <QRegularExpression> 0014 #include <QSignalSpy> 0015 0016 namespace 0017 { 0018 constexpr auto msgPreconditionFailed = "Precondition for test failed - please fix unit test!"; 0019 } 0020 0021 void KPATest::TestExifDatabase::initTestCase() 0022 { 0023 // ThumbnailCache uses QHash, which is randomized by default 0024 qSetGlobalQHashSeed(0); 0025 0026 QVERIFY2(Exif::Database::isAvailable(), msgPreconditionFailed); 0027 } 0028 0029 void KPATest::TestExifDatabase::trivialTests() 0030 { 0031 QTemporaryDir tmpDir; 0032 QVERIFY2(tmpDir.isValid(), msgPreconditionFailed); 0033 0034 DB::DummyUIDelegate uiDelegate; 0035 Settings::SettingsData::setup(tmpDir.path(), uiDelegate); 0036 0037 // create a new, empty db: 0038 Exif::Database db(tmpDir.filePath(QStringLiteral("exif-db.sqlite")), uiDelegate); 0039 0040 // this should be usable 0041 QVERIFY(db.isUsable()); 0042 // its version should not surprise us 0043 QCOMPARE(db.DBFileVersion(), Exif::Database::DBVersion()); 0044 QCOMPARE(db.DBFileVersionGuaranteed(), Exif::Database::DBVersion()); 0045 0046 QCOMPARE(db.size(), 0); 0047 QVERIFY(db.cameras().isEmpty()); 0048 QVERIFY(db.lenses().isEmpty()); 0049 0050 DB::DummyProgressIndicator progress; 0051 db.recreate(DB::FileNameList(), progress); 0052 0053 QVERIFY(db.isUsable()); 0054 QCOMPARE(db.size(), 0); 0055 QCOMPARE(progress.value(), 0); 0056 QCOMPARE(progress.minimum(), 0); 0057 QCOMPARE(progress.maximum(), 0); 0058 } 0059 0060 QTEST_MAIN(KPATest::TestExifDatabase) 0061 0062 // vi:expandtab:tabstop=4 shiftwidth=4: 0063 0064 #include "moc_TestExifDatabase.cpp"