mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-05-06 16:45:15 -04:00
Fix duplicate icon add in export
SharedObserver did not check for already added icons add during export leading to duplicate icons in the target db.
This commit is contained in:
parent
771ecdba12
commit
05bee40f0a
5 changed files with 37 additions and 5 deletions
|
@ -1127,6 +1127,34 @@ void TestMerge::testMergeCustomIcons()
|
|||
QVERIFY(dbDestination->metadata()->containsCustomIcon(customIconId));
|
||||
}
|
||||
|
||||
/**
|
||||
* No duplicate icons should be created
|
||||
*/
|
||||
void TestMerge::testMergeDuplicateCustomIcons()
|
||||
{
|
||||
QScopedPointer<Database> dbDestination(new Database());
|
||||
QScopedPointer<Database> dbSource(createTestDatabase());
|
||||
|
||||
m_clock->advanceSecond(1);
|
||||
|
||||
QUuid customIconId = QUuid::createUuid();
|
||||
QImage customIcon;
|
||||
|
||||
dbSource->metadata()->addCustomIcon(customIconId, customIcon);
|
||||
dbDestination->metadata()->addCustomIcon(customIconId, customIcon);
|
||||
// Sanity check.
|
||||
QVERIFY(dbSource->metadata()->containsCustomIcon(customIconId));
|
||||
QVERIFY(dbDestination->metadata()->containsCustomIcon(customIconId));
|
||||
|
||||
m_clock->advanceSecond(1);
|
||||
|
||||
Merger merger(dbSource.data(), dbDestination.data());
|
||||
merger.merge();
|
||||
|
||||
QVERIFY(dbDestination->metadata()->containsCustomIcon(customIconId));
|
||||
QCOMPARE(dbDestination->metadata()->customIcons().count(), 1);
|
||||
}
|
||||
|
||||
void TestMerge::testMetadata()
|
||||
{
|
||||
QSKIP("Sophisticated merging for Metadata not implemented");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue