Changeset View
Changeset View
Standalone View
Standalone View
tests/units/testlib/akonadifakedatatest.cpp
Show First 20 Lines • Show All 59 Lines • ▼ Show 20 Line(s) | 58 | inline bool qCompare(const Akonadi::Item &left, const Akonadi::Item &right, | |||
---|---|---|---|---|---|
60 | const char *file, int line) | 60 | const char *file, int line) | ||
61 | { | 61 | { | ||
62 | return zCompareHelper((left == right) && (left.payloadData() == right.payloadData()), | 62 | return zCompareHelper((left == right) && (left.payloadData() == right.payloadData()), | ||
63 | left, right, actual, expected, file, line); | 63 | left, right, actual, expected, file, line); | ||
64 | } | 64 | } | ||
65 | 65 | | |||
66 | } | 66 | } | ||
67 | 67 | | |||
68 | namespace | ||||
69 | { | ||||
70 | template<typename T> | ||||
71 | QSet<T> listToSet(const QVector<T> &list) | ||||
72 | { | ||||
73 | #if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) | ||||
74 | return list.toList().toSet(); | ||||
75 | #else | ||||
76 | return {list.cbegin(), list.cend()}; | ||||
77 | #endif | ||||
78 | } | ||||
79 | } | ||||
80 | | ||||
68 | class AkonadiFakeDataTest : public QObject | 81 | class AkonadiFakeDataTest : public QObject | ||
69 | { | 82 | { | ||
70 | Q_OBJECT | 83 | Q_OBJECT | ||
71 | public: | 84 | public: | ||
72 | explicit AkonadiFakeDataTest(QObject *parent = nullptr) | 85 | explicit AkonadiFakeDataTest(QObject *parent = nullptr) | ||
73 | : QObject(parent) | 86 | : QObject(parent) | ||
74 | { | 87 | { | ||
75 | qRegisterMetaType<Akonadi::Collection>(); | 88 | qRegisterMetaType<Akonadi::Collection>(); | ||
Show All 25 Lines | 105 | { | |||
101 | c2.setName(QStringLiteral("43")); | 114 | c2.setName(QStringLiteral("43")); | ||
102 | const auto colSet = QSet<Akonadi::Collection>() << c1 << c2; | 115 | const auto colSet = QSet<Akonadi::Collection>() << c1 << c2; | ||
103 | 116 | | |||
104 | // WHEN | 117 | // WHEN | ||
105 | data.createCollection(c1); | 118 | data.createCollection(c1); | ||
106 | data.createCollection(c2); | 119 | data.createCollection(c2); | ||
107 | 120 | | |||
108 | // THEN | 121 | // THEN | ||
109 | QCOMPARE(data.collections().toList().toSet(), colSet); | 122 | QCOMPARE(listToSet(data.collections()), colSet); | ||
110 | QCOMPARE(data.collection(c1.id()), c1); | 123 | QCOMPARE(data.collection(c1.id()), c1); | ||
111 | QCOMPARE(data.collection(c2.id()), c2); | 124 | QCOMPARE(data.collection(c2.id()), c2); | ||
112 | 125 | | |||
113 | QCOMPARE(spy.size(), 2); | 126 | QCOMPARE(spy.size(), 2); | ||
114 | QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Collection>(), c1); | 127 | QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Collection>(), c1); | ||
115 | QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Collection>(), c2); | 128 | QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Collection>(), c2); | ||
116 | } | 129 | } | ||
117 | 130 | | |||
▲ Show 20 Lines • Show All 60 Lines • ▼ Show 20 Line(s) | 183 | { | |||
178 | const auto colSet = QSet<Akonadi::Collection>() << c2; | 191 | const auto colSet = QSet<Akonadi::Collection>() << c2; | ||
179 | 192 | | |||
180 | // WHEN | 193 | // WHEN | ||
181 | data.createCollection(c1); | 194 | data.createCollection(c1); | ||
182 | data.createCollection(c2); | 195 | data.createCollection(c2); | ||
183 | 196 | | |||
184 | // THEN | 197 | // THEN | ||
185 | QVERIFY(data.childCollections(c2.id()).isEmpty()); | 198 | QVERIFY(data.childCollections(c2.id()).isEmpty()); | ||
186 | QCOMPARE(data.childCollections(c1.id()).toList().toSet(), colSet); | 199 | QCOMPARE(listToSet(data.childCollections(c1.id())), colSet); | ||
187 | } | 200 | } | ||
188 | 201 | | |||
189 | void shouldReparentCollectionsOnModify() | 202 | void shouldReparentCollectionsOnModify() | ||
190 | { | 203 | { | ||
191 | // GIVEN | 204 | // GIVEN | ||
192 | auto data = Testlib::AkonadiFakeData(); | 205 | auto data = Testlib::AkonadiFakeData(); | ||
193 | 206 | | |||
194 | auto c1 = Akonadi::Collection(42); | 207 | auto c1 = Akonadi::Collection(42); | ||
▲ Show 20 Lines • Show All 193 Lines • ▼ Show 20 Line(s) | 355 | { | |||
388 | QCOMPARE(data.contexts().at(0), t1); | 401 | QCOMPARE(data.contexts().at(0), t1); | ||
389 | 402 | | |||
390 | QVERIFY(!data.contextItem("ctx-2").isValid()); | 403 | QVERIFY(!data.contextItem("ctx-2").isValid()); | ||
391 | 404 | | |||
392 | QCOMPARE(data.contextItems("ctx-1").size(), 1); | 405 | QCOMPARE(data.contextItems("ctx-1").size(), 1); | ||
393 | QCOMPARE(data.contextItems("ctx-1").at(0), i1); | 406 | QCOMPARE(data.contextItems("ctx-1").at(0), i1); | ||
394 | QVERIFY(data.contextItems("ctx-2").isEmpty()); | 407 | QVERIFY(data.contextItems("ctx-2").isEmpty()); | ||
395 | 408 | | |||
396 | QCOMPARE(data.items().toList().toSet(), itemSet); | 409 | QCOMPARE(listToSet(data.items()), itemSet); | ||
397 | 410 | | |||
398 | QVERIFY(data.item(i1.id()).isValid()); | 411 | QVERIFY(data.item(i1.id()).isValid()); | ||
399 | const auto item2 = data.item(i2.id()); | 412 | const auto item2 = data.item(i2.id()); | ||
400 | QVERIFY(item2.isValid()); | 413 | QVERIFY(item2.isValid()); | ||
401 | QVERIFY(!serializer.isContextChild(context2, item2)); | 414 | QVERIFY(!serializer.isContextChild(context2, item2)); | ||
402 | 415 | | |||
403 | QCOMPARE(contextSpy.size(), 1); | 416 | QCOMPARE(contextSpy.size(), 1); | ||
404 | QCOMPARE(contextSpy.takeFirst().at(0).value<Akonadi::Item>().id(), t2.id()); | 417 | QCOMPARE(contextSpy.takeFirst().at(0).value<Akonadi::Item>().id(), t2.id()); | ||
Show All 17 Lines | 426 | { | |||
422 | i2.setPayloadFromData("43"); | 435 | i2.setPayloadFromData("43"); | ||
423 | const auto itemSet = QSet<Akonadi::Item>() << i1 << i2; | 436 | const auto itemSet = QSet<Akonadi::Item>() << i1 << i2; | ||
424 | 437 | | |||
425 | // WHEN | 438 | // WHEN | ||
426 | data.createItem(i1); | 439 | data.createItem(i1); | ||
427 | data.createItem(i2); | 440 | data.createItem(i2); | ||
428 | 441 | | |||
429 | // THEN | 442 | // THEN | ||
430 | QCOMPARE(data.items().toList().toSet(), itemSet); | 443 | QCOMPARE(listToSet(data.items()), itemSet); | ||
431 | QCOMPARE(data.item(i1.id()), i1); | 444 | QCOMPARE(data.item(i1.id()), i1); | ||
432 | QCOMPARE(data.item(i2.id()), i2); | 445 | QCOMPARE(data.item(i2.id()), i2); | ||
433 | 446 | | |||
434 | QCOMPARE(spy.size(), 2); | 447 | QCOMPARE(spy.size(), 2); | ||
435 | QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Item>(), i1); | 448 | QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Item>(), i1); | ||
436 | QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Item>(), i2); | 449 | QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Item>(), i2); | ||
437 | } | 450 | } | ||
438 | 451 | | |||
▲ Show 20 Lines • Show All 212 Lines • Show Last 20 Lines |