diff options
author | Aetf <7437103@gmail.com> | 2019-02-02 01:03:28 +0300 |
---|---|---|
committer | Jonathan White <support@dmapps.us> | 2019-02-02 01:03:28 +0300 |
commit | e60f4278f739ae8575ae18e06581548b0dbdf832 (patch) | |
tree | 1ce019f43bbb57eeccef502c888084e5b4e762a5 /tests/TestGroup.cpp | |
parent | 42cfe01ad26d63cb86e44a49de40e70516cf8e8a (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.cpp | 43 |
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)); +} |