summaryrefslogtreecommitdiffstats
path: root/tests/auto/contacts/qcontactfilter/tst_qcontactfilter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/contacts/qcontactfilter/tst_qcontactfilter.cpp')
-rw-r--r--tests/auto/contacts/qcontactfilter/tst_qcontactfilter.cpp94
1 files changed, 94 insertions, 0 deletions
diff --git a/tests/auto/contacts/qcontactfilter/tst_qcontactfilter.cpp b/tests/auto/contacts/qcontactfilter/tst_qcontactfilter.cpp
index e347c3fdd..4df9a25f3 100644
--- a/tests/auto/contacts/qcontactfilter/tst_qcontactfilter.cpp
+++ b/tests/auto/contacts/qcontactfilter/tst_qcontactfilter.cpp
@@ -55,6 +55,11 @@ static inline QContactId makeId(const QString &managerName, uint id)
return QContactId(QStringLiteral("qtcontacts:basic%1:").arg(managerName), QByteArray(reinterpret_cast<const char *>(&id), sizeof(uint)));
}
+static inline QContactCollectionId makeCollectionId(uint id)
+{
+ return QContactCollectionId(QStringLiteral("qtcontacts:basic:"), QByteArray(reinterpret_cast<const char *>(&id), sizeof(uint)));
+}
+
class tst_QContactFilter : public QObject
{
Q_OBJECT
@@ -81,9 +86,12 @@ private slots:
void canonicalizedFilter_data();
void testFilter();
void testFilter_data();
+ void collectionFilter();
void datastream();
void datastream_data();
+ void testDebugStreamOut();
+ void testDebugStreamOut_data();
void traits();
};
@@ -1210,6 +1218,40 @@ void tst_QContactFilter::testFilter_data()
}
}
+void tst_QContactFilter::collectionFilter()
+{
+ QContactCollectionFilter icf;
+
+ QVERIFY(icf.collectionIds().isEmpty());
+
+ QContactCollectionId id1 = makeCollectionId(5);
+ QContactCollectionId id2 = makeCollectionId(6);
+ QContactCollectionId id3 = makeCollectionId(7);
+ QContactCollectionId id4 = makeCollectionId(12);
+ QSet<QContactCollectionId> ids;
+ ids << id1 << id2 << id3;
+
+ icf.setCollectionIds(ids);
+ QVERIFY(icf.collectionIds() == ids);
+
+ icf.setCollectionId(id4);
+ ids.clear();
+ ids << id4;
+ QVERIFY(icf.collectionIds() == ids);
+
+ QContactCollectionFilter icf2;
+ icf2 = icf;
+ QVERIFY(icf2.collectionIds() == ids);
+
+ QContactFilter fil;
+ fil = icf;
+ QVERIFY(fil.type() == QContactFilter::CollectionFilter);
+
+ QContactCollectionFilter icf3(fil);
+ QVERIFY(fil.type() == QContactFilter::CollectionFilter);
+ QVERIFY(icf3.collectionIds() == ids);
+}
+
void tst_QContactFilter::datastream()
{
QFETCH(QContactFilter, filterIn);
@@ -1286,6 +1328,58 @@ void tst_QContactFilter::datastream_data()
}
}
+void tst_QContactFilter::testDebugStreamOut()
+{
+ QFETCH(QContactFilter, filterIn);
+ QFETCH(QString, messageExpected);
+
+ QTest::ignoreMessage(QtDebugMsg, messageExpected.toUtf8());
+ qDebug() << filterIn;
+}
+
+void tst_QContactFilter::testDebugStreamOut_data()
+{
+ QTest::addColumn<QContactFilter>("filterIn");
+ QTest::addColumn<QString>("messageExpected");
+
+ {
+ QContactCollectionFilter filter;
+ QContactCollectionId id1 = makeCollectionId(5);
+ QContactCollectionId id2 = makeCollectionId(6);
+ QContactCollectionId id3 = makeCollectionId(7);
+ QContactCollectionId id4 = makeCollectionId(12);
+ QSet<QContactCollectionId> ids;
+ ids << id1 << id2 << id3;
+ filter.setCollectionIds(ids);
+ // Testing method setCollectionIds
+ QTest::newRow("collection") << (QContactFilter)filter << "QContactFilter(QContactCollectionFilter(collectionIds=(QContactCollectionId(qtcontacts:basic::05000000), QContactCollectionId(qtcontacts:basic::06000000), QContactCollectionId(qtcontacts:basic::07000000))))";
+
+ filter.setCollectionId(id2);
+ // Testing method setCollectionId (and the related clearing of the collection)
+ QTest::newRow("collection") << (QContactFilter)filter << "QContactFilter(QContactCollectionFilter(collectionIds=(QContactCollectionId(qtcontacts:basic::06000000))))";
+ filter.setCollectionId(id4);
+ // Testing again method setCollectionId (and the related clearing of the collection)
+ QTest::newRow("collection") << (QContactFilter)filter << "QContactFilter(QContactCollectionFilter(collectionIds=(QContactCollectionId(qtcontacts:basic::0c000000))))";
+ ids.clear();
+ ids << id4;
+ // Testing again method setCollectionIds
+ QTest::newRow("collection") << (QContactFilter)filter << "QContactFilter(QContactCollectionFilter(collectionIds=(QContactCollectionId(qtcontacts:basic::0c000000))))";
+
+ QContactCollectionFilter filter2;
+ filter2 = filter;
+ // Testing again method setCollectionIds on the copied filter
+ QTest::newRow("collection") << (QContactFilter)filter2 << "QContactFilter(QContactCollectionFilter(collectionIds=(QContactCollectionId(qtcontacts:basic::0c000000))))";
+
+ QContactFilter fil;
+ fil = filter;
+ // Testing that the assignment/conversion went fine
+ QTest::newRow("collection") << (QContactFilter)fil << "QContactFilter(QContactCollectionFilter(collectionIds=(QContactCollectionId(qtcontacts:basic::0c000000))))";
+
+ QContactCollectionFilter filter3(fil);
+ QTest::newRow("collection") << (QContactFilter)filter3 << "QContactFilter(QContactCollectionFilter(collectionIds=(QContactCollectionId(qtcontacts:basic::0c000000))))";
+ }
+}
+
void tst_QContactFilter::traits()
{
QCOMPARE(sizeof(QContactFilter), sizeof(void *));