diff options
author | louib <code@louib.net> | 2021-03-13 22:07:49 +0300 |
---|---|---|
committer | Jonathan White <support@dmapps.us> | 2021-11-12 15:41:30 +0300 |
commit | 004f2b6801d93116277778611920793b7dbe0afb (patch) | |
tree | ab328622af017c0e5735ffd0588480321bbed07d /tests | |
parent | 6f5bbf7ad1048abc3db7e378df654a61954f77e3 (diff) |
Removing QWidget dependency from src/core.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/TestEntryModel.cpp | 3 | ||||
-rw-r--r-- | tests/TestGroup.cpp | 33 | ||||
-rw-r--r-- | tests/TestKeePass1Reader.cpp | 18 | ||||
-rw-r--r-- | tests/TestKeePass2Format.cpp | 16 | ||||
-rw-r--r-- | tests/TestMerge.cpp | 15 | ||||
-rw-r--r-- | tests/gui/TestGuiPixmaps.cpp | 36 |
6 files changed, 50 insertions, 71 deletions
diff --git a/tests/TestEntryModel.cpp b/tests/TestEntryModel.cpp index 724d3f5c1..ce4b66881 100644 --- a/tests/TestEntryModel.cpp +++ b/tests/TestEntryModel.cpp @@ -20,9 +20,10 @@ #include <QSignalSpy> #include <QTest> -#include "core/DatabaseIcons.h" +#include "core/Entry.h" #include "core/Group.h" #include "crypto/Crypto.h" +#include "gui/DatabaseIcons.h" #include "gui/IconModels.h" #include "gui/SortFilterHideProxyModel.h" #include "gui/entry/AutoTypeAssociationsModel.h" diff --git a/tests/TestGroup.cpp b/tests/TestGroup.cpp index ccc94cc90..55c54d821 100644 --- a/tests/TestGroup.cpp +++ b/tests/TestGroup.cpp @@ -315,36 +315,34 @@ void TestGroup::testCopyCustomIcon() QScopedPointer<Database> dbSource(new Database()); QUuid groupIconUuid = QUuid::createUuid(); - QImage groupIcon(16, 16, QImage::Format_RGB32); - groupIcon.setPixel(0, 0, qRgb(255, 0, 0)); + QByteArray groupIcon("group icon"); dbSource->metadata()->addCustomIcon(groupIconUuid, groupIcon); QUuid entryIconUuid = QUuid::createUuid(); - QImage entryIcon(16, 16, QImage::Format_RGB32); - entryIcon.setPixel(0, 0, qRgb(255, 0, 0)); + QByteArray entryIcon("entry icon"); dbSource->metadata()->addCustomIcon(entryIconUuid, entryIcon); Group* group = new Group(); group->setParent(dbSource->rootGroup()); group->setIcon(groupIconUuid); - QCOMPARE(group->icon(), groupIcon); + QCOMPARE(group->database()->metadata()->customIcon(groupIconUuid), groupIcon); Entry* entry = new Entry(); entry->setGroup(dbSource->rootGroup()); entry->setIcon(entryIconUuid); - QCOMPARE(entry->icon(), entryIcon); + QCOMPARE(entry->database()->metadata()->customIcon(entryIconUuid), entryIcon); QScopedPointer<Database> dbTarget(new Database()); group->setParent(dbTarget->rootGroup()); QVERIFY(dbTarget->metadata()->hasCustomIcon(groupIconUuid)); QCOMPARE(dbTarget->metadata()->customIcon(groupIconUuid), groupIcon); - QCOMPARE(group->icon(), groupIcon); + QCOMPARE(group->database()->metadata()->customIcon(groupIconUuid), groupIcon); entry->setGroup(dbTarget->rootGroup()); QVERIFY(dbTarget->metadata()->hasCustomIcon(entryIconUuid)); QCOMPARE(dbTarget->metadata()->customIcon(entryIconUuid), entryIcon); - QCOMPARE(entry->icon(), entryIcon); + QCOMPARE(entry->database()->metadata()->customIcon(entryIconUuid), entryIcon); } void TestGroup::testClone() @@ -425,11 +423,9 @@ void TestGroup::testCopyCustomIcons() QScopedPointer<Database> dbSource(new Database()); QScopedPointer<Database> dbTarget(new Database()); - QImage iconImage1(1, 1, QImage::Format_RGB32); - iconImage1.setPixel(0, 0, qRgb(1, 2, 3)); + QByteArray iconImage1("icon 1"); - QImage iconImage2(1, 1, QImage::Format_RGB32); - iconImage2.setPixel(0, 0, qRgb(4, 5, 6)); + QByteArray iconImage2("icon 2"); QScopedPointer<Group> group1(new Group()); group1->setParent(dbSource->rootGroup()); @@ -469,8 +465,8 @@ void TestGroup::testCopyCustomIcons() QVERIFY(metaTarget->hasCustomIcon(entry1IconOld)); QVERIFY(metaTarget->hasCustomIcon(entry1IconNew)); - QCOMPARE(metaTarget->customIcon(group1Icon).pixel(0, 0), qRgb(1, 2, 3)); - QCOMPARE(metaTarget->customIcon(group2Icon).pixel(0, 0), qRgb(4, 5, 6)); + QCOMPARE(metaTarget->customIcon(group1Icon), iconImage1); + QCOMPARE(metaTarget->customIcon(group2Icon), iconImage2); } void TestGroup::testFindEntry() @@ -1075,21 +1071,18 @@ void TestGroup::testApplyGroupIconRecursively() // Set an icon per UUID to the subgroup and apply recursively // -> all groups and entries except the root group have the same icon const QUuid subgroupIconUuid = QUuid::createUuid(); - QImage subgroupIcon(16, 16, QImage::Format_RGB32); - subgroupIcon.setPixel(0, 0, qRgb(255, 0, 0)); + QByteArray subgroupIcon("subgroup icon"); + database.metadata()->addCustomIcon(subgroupIconUuid, subgroupIcon); subgroup->setIcon(subgroupIconUuid); subgroup->applyGroupIconToChildGroups(); subgroup->applyGroupIconToChildEntries(); QVERIFY(database.rootGroup()->iconNumber() == rootIconNumber); QCOMPARE(subgroup->iconUuid(), subgroupIconUuid); - QCOMPARE(subgroup->icon(), subgroupIcon); QCOMPARE(subgroupEntry->iconUuid(), subgroupIconUuid); - QCOMPARE(subgroupEntry->icon(), subgroupIcon); QCOMPARE(subsubgroup->iconUuid(), subgroupIconUuid); - QCOMPARE(subsubgroup->icon(), subgroupIcon); QCOMPARE(subsubgroupEntry->iconUuid(), subgroupIconUuid); - QCOMPARE(subsubgroupEntry->icon(), subgroupIcon); + QCOMPARE(subgroup->database()->metadata()->customIcon(subgroupIconUuid), subgroupIcon); // Reset all icons to root icon database.rootGroup()->setIcon(rootIconNumber); diff --git a/tests/TestKeePass1Reader.cpp b/tests/TestKeePass1Reader.cpp index 9983cf74c..d7a04bdbb 100644 --- a/tests/TestKeePass1Reader.cpp +++ b/tests/TestKeePass1Reader.cpp @@ -114,20 +114,12 @@ void TestKeePass1Reader::testMasterKey() void TestKeePass1Reader::testCustomIcons() { QCOMPARE(m_db->metadata()->customIconsOrder().size(), 1); + QUuid uuid = m_db->metadata()->customIconsOrder().at(0); + QVERIFY(m_db->metadata()->hasCustomIcon(uuid)); + QByteArray icon = m_db->metadata()->customIcon(uuid); - Entry* entry = m_db->rootGroup()->children().at(1)->entries().at(0); - - QCOMPARE(entry->icon().width(), 16); - QCOMPARE(entry->icon().height(), 16); - - for (int x = 0; x < 16; x++) { - for (int y = 0; y < 16; y++) { - QRgb rgb = entry->icon().pixel(x, y); - QCOMPARE(qRed(rgb), 8); - QCOMPARE(qGreen(rgb), 160); - QCOMPARE(qBlue(rgb), 60); - } - } + QVERIFY(icon.startsWith( + "\x89PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\b\x06\x00\x00\x00\x1F\xF3\xFF")); } void TestKeePass1Reader::testGroupExpanded() diff --git a/tests/TestKeePass2Format.cpp b/tests/TestKeePass2Format.cpp index bbe9f3c3e..397c8bd1c 100644 --- a/tests/TestKeePass2Format.cpp +++ b/tests/TestKeePass2Format.cpp @@ -113,18 +113,10 @@ void TestKeePass2Format::testXmlCustomIcons() QCOMPARE(m_xmlDb->metadata()->customIconsOrder().size(), 1); QUuid uuid = QUuid::fromRfc4122(QByteArray::fromBase64("++vyI+daLk6omox4a6kQGA==")); QVERIFY(m_xmlDb->metadata()->hasCustomIcon(uuid)); - QImage icon = m_xmlDb->metadata()->customIcon(uuid); - QCOMPARE(icon.width(), 16); - QCOMPARE(icon.height(), 16); - - for (int x = 0; x < 16; x++) { - for (int y = 0; y < 16; y++) { - QRgb rgb = icon.pixel(x, y); - QCOMPARE(qRed(rgb), 128); - QCOMPARE(qGreen(rgb), 0); - QCOMPARE(qBlue(rgb), 128); - } - } + QByteArray icon = m_xmlDb->metadata()->customIcon(uuid); + + QVERIFY(icon.startsWith( + "\x89PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\b\x06\x00\x00\x00\x1F\xF3\xFF")); } void TestKeePass2Format::testXmlGroupRoot() diff --git a/tests/TestMerge.cpp b/tests/TestMerge.cpp index 8018861e8..7fc1d1dc8 100644 --- a/tests/TestMerge.cpp +++ b/tests/TestMerge.cpp @@ -998,8 +998,7 @@ void TestMerge::testUpdateGroup() groupSourceInitial->setName("group2 renamed"); groupSourceInitial->setNotes("updated notes"); QUuid customIconId = QUuid::createUuid(); - QImage customIcon; - dbSource->metadata()->addCustomIcon(customIconId, customIcon); + dbSource->metadata()->addCustomIcon(customIconId, QString("custom icon").toLocal8Bit()); groupSourceInitial->setIcon(customIconId); QPointer<Entry> entrySourceInitial = dbSource->rootGroup()->findEntryByPath("entry1"); @@ -1113,9 +1112,8 @@ void TestMerge::testMergeCustomIcons() m_clock->advanceSecond(1); QUuid customIconId = QUuid::createUuid(); - QImage customIcon; - dbSource->metadata()->addCustomIcon(customIconId, customIcon); + dbSource->metadata()->addCustomIcon(customIconId, QString("custom icon").toLocal8Bit()); // Sanity check. QVERIFY(dbSource->metadata()->hasCustomIcon(customIconId)); @@ -1138,10 +1136,12 @@ void TestMerge::testMergeDuplicateCustomIcons() m_clock->advanceSecond(1); QUuid customIconId = QUuid::createUuid(); - QImage customIcon; - dbSource->metadata()->addCustomIcon(customIconId, customIcon); - dbDestination->metadata()->addCustomIcon(customIconId, customIcon); + QByteArray customIcon1 = QString("custom icon 1").toLocal8Bit(); + QByteArray customIcon2 = QString("custom icon 2").toLocal8Bit(); + + dbSource->metadata()->addCustomIcon(customIconId, customIcon1); + dbDestination->metadata()->addCustomIcon(customIconId, customIcon2); // Sanity check. QVERIFY(dbSource->metadata()->hasCustomIcon(customIconId)); QVERIFY(dbDestination->metadata()->hasCustomIcon(customIconId)); @@ -1153,6 +1153,7 @@ void TestMerge::testMergeDuplicateCustomIcons() QVERIFY(dbDestination->metadata()->hasCustomIcon(customIconId)); QCOMPARE(dbDestination->metadata()->customIconsOrder().count(), 1); + QCOMPARE(dbDestination->metadata()->customIcon(customIconId), customIcon2); } void TestMerge::testMetadata() diff --git a/tests/gui/TestGuiPixmaps.cpp b/tests/gui/TestGuiPixmaps.cpp index 1c78b8962..f18cba221 100644 --- a/tests/gui/TestGuiPixmaps.cpp +++ b/tests/gui/TestGuiPixmaps.cpp @@ -16,12 +16,14 @@ */ #include "TestGuiPixmaps.h" -#include "core/DatabaseIcons.h" #include "core/Metadata.h" +#include <QTest> + #include "core/Group.h" #include "crypto/Crypto.h" -#include <QTest> +#include "gui/DatabaseIcons.h" +#include "gui/Icons.h" void TestGuiPixmaps::initTestCase() { @@ -30,55 +32,53 @@ void TestGuiPixmaps::initTestCase() void TestGuiPixmaps::testDatabaseIcons() { - // check if the cache works correctly - auto pixmap = databaseIcons()->icon(0); - auto pixmapCached = databaseIcons()->icon(0); - QCOMPARE(pixmapCached.cacheKey(), pixmap.cacheKey()); + QVERIFY(!databaseIcons()->icon(0).isNull()); } void TestGuiPixmaps::testEntryIcons() { QScopedPointer<Database> db(new Database()); - Entry* entry = new Entry(); + auto entry = new Entry(); entry->setGroup(db->rootGroup()); // Test setting standard icon entry->setIcon(10); - auto pixmap = entry->iconPixmap(); - QCOMPARE(pixmap.cacheKey(), databaseIcons()->icon(10).cacheKey()); + auto pixmap = Icons::entryIconPixmap(entry); + QVERIFY(pixmap.toImage() == databaseIcons()->icon(10).toImage()); // Test setting custom icon QUuid iconUuid = QUuid::createUuid(); QImage icon(2, 1, QImage::Format_RGB32); icon.setPixel(0, 0, qRgb(0, 0, 0)); icon.setPixel(1, 0, qRgb(0, 0, 50)); - db->metadata()->addCustomIcon(iconUuid, icon); + db->metadata()->addCustomIcon(iconUuid, Icons::saveToBytes(icon)); + QCOMPARE(db->metadata()->customIconsOrder().count(), 1); entry->setIcon(iconUuid); - pixmap = entry->iconPixmap(); - QCOMPARE(pixmap.cacheKey(), db->metadata()->customIconPixmap(iconUuid).cacheKey()); + // Confirm the icon is the same as that stored in the database + QVERIFY(Icons::entryIconPixmap(entry).toImage() == Icons::customIconPixmap(db.data(), iconUuid).toImage()); } void TestGuiPixmaps::testGroupIcons() { QScopedPointer<Database> db(new Database()); - Group* group = db->rootGroup(); + auto group = db->rootGroup(); // Test setting standard icon group->setIcon(10); - auto pixmap = group->iconPixmap(); - QCOMPARE(pixmap.cacheKey(), databaseIcons()->icon(10).cacheKey()); + auto pixmap = Icons::groupIconPixmap(group); + QVERIFY(pixmap.toImage() == databaseIcons()->icon(10).toImage()); // Test setting custom icon QUuid iconUuid = QUuid::createUuid(); QImage icon(2, 1, QImage::Format_RGB32); icon.setPixel(0, 0, qRgb(0, 0, 0)); icon.setPixel(1, 0, qRgb(0, 0, 50)); - db->metadata()->addCustomIcon(iconUuid, icon); + db->metadata()->addCustomIcon(iconUuid, Icons::saveToBytes(icon)); group->setIcon(iconUuid); - pixmap = group->iconPixmap(); - QCOMPARE(pixmap.cacheKey(), db->metadata()->customIconPixmap(iconUuid).cacheKey()); + // Confirm the icon is the same as that stored in the database + QVERIFY(Icons::groupIconPixmap(group).toImage() == Icons::customIconPixmap(db.data(), iconUuid).toImage()); } QTEST_MAIN(TestGuiPixmaps) |