QDebug operator<<(QDebug dbg, const QOrganizerItemDetail& detail) { dbg.nospace() << "QOrganizerItemDetail(name=" << detail.definitionName() << ", key=" << detail.key(); QVariantMap fields = detail.variantValues(); QVariantMap::const_iterator it; for (it = fields.constBegin(); it != fields.constEnd(); ++it) { dbg.nospace() << ", " << it.key() << '=' << it.value(); } dbg.nospace() << ')'; return dbg.maybeSpace(); }
foreach (const QOrganizerItemDetail& det, allDetails) { int currKey = det.key(); QVERIFY(!detailKeys.contains(currKey)); detailKeys.append(currKey); }
QVERIFY(oi.isEmpty() == true); QCOMPARE(oi.details().count(), 1); QCOMPARE(oi.details(QOrganizerItemLocation::DefinitionName).count(), 0); QCOMPARE(oi.details<QOrganizerItemLocation>().count(), 0); QVERIFY(oi.detail(QOrganizerItemLocation::DefinitionName).isEmpty()); QVERIFY(oi.detail<QOrganizerItemLocation>().isEmpty()); QCOMPARE(oi.details(QOrganizerItemLocation::DefinitionName.latin1()).count(), 0); QVERIFY(oi.detail(QOrganizerItemLocation::DefinitionName.latin1()).isEmpty()); QCOMPARE(oi.details(QLatin1String(QOrganizerItemLocation::DefinitionName)).count(), 0); QVERIFY(oi.detail(QLatin1String(QOrganizerItemLocation::DefinitionName)).isEmpty()); // Test retrieving the default details (type) QList<QOrganizerItemDetail> details = oi.details(QString()); QVERIFY(details.at(0).definitionName() == QOrganizerItemType::DefinitionName); QOrganizerItemDetail detail = oi.detail("nonexistent"); QVERIFY(detail.isEmpty()); QVERIFY(detail.definitionName().isEmpty()); // retrieve the first detail using the empty definition name accessor. detail = oi.detail(QString()); QVERIFY(detail == details.at(0)); QVERIFY(oi.details("nonexistent").count() == 0); // Add a detail QOrganizerItemLocation a; a.setLabel("another test address label"); QVERIFY(oi.saveDetail(&a)); QVERIFY(oi.isEmpty() == false);
bool detailLessThan(const QOrganizerItemDetail &d1, const QOrganizerItemDetail &d2) { return (d1.definitionName() < d2.definitionName()); }
bool compareOrganizerItemDetail(const QOrganizerItemDetail &one, const QOrganizerItemDetail &other) { return (one.definitionName() < other.definitionName()); }