Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAetf <7437103@gmail.com>2019-02-02 01:03:28 +0300
committerJonathan White <support@dmapps.us>2019-02-02 01:03:28 +0300
commite60f4278f739ae8575ae18e06581548b0dbdf832 (patch)
tree1ce019f43bbb57eeccef502c888084e5b4e762a5 /tests/TestGroup.cpp
parent42cfe01ad26d63cb86e44a49de40e70516cf8e8a (diff)
Fix group signals (#2670)
* Fix group not emitting signals when modified through copyDataFrom * Fix Group::GroupData equals wrongly compares timeInfo
Diffstat (limited to 'tests/TestGroup.cpp')
-rw-r--r--tests/TestGroup.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/TestGroup.cpp b/tests/TestGroup.cpp
index 6ea43b105..9abbd31d1 100644
--- a/tests/TestGroup.cpp
+++ b/tests/TestGroup.cpp
@@ -798,3 +798,46 @@ void TestGroup::testIsRecycled()
db->recycleGroup(group4);
QVERIFY(group4->isRecycled());
}
+
+void TestGroup::testCopyDataFrom()
+{
+ QScopedPointer<Group> group(new Group());
+ group->setName("TestGroup");
+
+ QScopedPointer<Group> group2(new Group());
+ group2->setName("TestGroup2");
+
+ QScopedPointer<Group> group3(new Group());
+ group3->setName("TestGroup3");
+ group3->customData()->set("testKey", "value");
+
+
+ QSignalSpy spyGroupModified(group.data(), SIGNAL(groupModified()));
+ QSignalSpy spyGroupDataChanged(group.data(), SIGNAL(groupDataChanged(Group*)));
+
+ group->copyDataFrom(group2.data());
+ QCOMPARE(spyGroupModified.count(), 1);
+ QCOMPARE(spyGroupDataChanged.count(), 1);
+
+ // if no change, no signals
+ spyGroupModified.clear();
+ spyGroupDataChanged.clear();
+ group->copyDataFrom(group2.data());
+ QCOMPARE(spyGroupModified.count(), 0);
+ QCOMPARE(spyGroupDataChanged.count(), 0);
+
+ // custom data change triggers a separate modified signal
+ spyGroupModified.clear();
+ spyGroupDataChanged.clear();
+ group->copyDataFrom(group3.data());
+ QCOMPARE(spyGroupDataChanged.count(), 1);
+ QCOMPARE(spyGroupModified.count(), 2);
+}
+
+void TestGroup::testEquals()
+{
+ QScopedPointer<Group> group(new Group());
+ group->setName("TestGroup");
+
+ QVERIFY(group->equals(group.data(), CompareItemDefault));
+}