qtmobility/tests/auto/qcontactfilter/tst_qcontactfilter.cpp
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
--- a/qtmobility/tests/auto/qcontactfilter/tst_qcontactfilter.cpp	Fri Jun 11 14:26:25 2010 +0300
+++ b/qtmobility/tests/auto/qcontactfilter/tst_qcontactfilter.cpp	Wed Jun 23 19:08:38 2010 +0300
@@ -445,10 +445,58 @@
 
     QContactDetailFilter df2 = f;
     QVERIFY(df2 == df);
+    QVERIFY(df2.detailDefinitionName() == "Definition");
+    QVERIFY(df2.detailFieldName() == "Field");
 
     /* Self assignment should do nothing */
     df2 = df2;
     QVERIFY(df2 == df);
+
+    /* Some cross casting */
+    QContactDetailRangeFilter rf;
+
+    /* Directly */
+    df2 = rf;
+    QVERIFY(df2.type() == QContactFilter::ContactDetailFilter);
+    QVERIFY(df2.detailDefinitionName().isEmpty());
+    QVERIFY(df2.detailFieldName().isEmpty());
+    QVERIFY(df2.value().isNull());
+
+    /* reset it */
+    df2 = df;
+    QVERIFY(df2.detailDefinitionName() == "Definition");
+    QVERIFY(df2.detailFieldName() == "Field");
+
+    /* Through base class */
+    f = rf;
+    df2 = f;
+    QVERIFY(df2.detailDefinitionName().isEmpty());
+    QVERIFY(df2.detailFieldName().isEmpty());
+    QVERIFY(df2.value().isNull());
+
+    /* Now test copy ctor */
+    QContactDetailFilter df3(rf);
+    QVERIFY(df3.type() == QContactFilter::ContactDetailFilter);
+    QVERIFY(df3.detailDefinitionName().isEmpty());
+    QVERIFY(df3.detailFieldName().isEmpty());
+    QVERIFY(df3.value().isNull());
+
+    /* reset it */
+    df3 = df;
+    QVERIFY(df3.detailDefinitionName() == "Definition");
+    QVERIFY(df3.detailFieldName() == "Field");
+
+    /* Now test copy ctor through base class */
+    QContactDetailFilter df4(f);
+    QVERIFY(df4.type() == QContactFilter::ContactDetailFilter);
+    QVERIFY(df4.detailDefinitionName().isEmpty());
+    QVERIFY(df4.detailFieldName().isEmpty());
+    QVERIFY(df4.value().isNull());
+
+    /* reset it */
+    df4 = df;
+    QVERIFY(df4.detailDefinitionName() == "Definition");
+    QVERIFY(df4.detailFieldName() == "Field");
 }
 
 void tst_QContactFilter::detailRangeFilter()
@@ -486,6 +534,16 @@
     rf.setMatchFlags(QContactFilter::MatchExactly);
     QVERIFY(rf.matchFlags() == QContactFilter::MatchExactly);
 
+    rf.setMatchFlags(QContactFilter::MatchCaseSensitive);
+    QVERIFY(rf.matchFlags() == QContactFilter::MatchCaseSensitive);
+
+    // Contains is not allowed
+    rf.setMatchFlags(QContactFilter::MatchCaseSensitive | QContactFilter::MatchContains);
+    QVERIFY(rf.matchFlags() == QContactFilter::MatchCaseSensitive);
+
+    rf.setMatchFlags(QContactFilter::MatchEndsWith);
+    QVERIFY(rf.matchFlags() == QContactFilter::MatchExactly); // 0
+
     rf.setRange(5, 10);
     QVERIFY(rf.minValue() == 5);
     QVERIFY(rf.maxValue() == 10);
@@ -989,11 +1047,11 @@
         QContactDetailRangeFilter qcdrf;
         qcdrf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
         qcdrf.setRange(QLatin1String("a"), QLatin1String("a"));
-        qcdrf.setMatchFlags(QContactFilter::MatchStartsWith);
+        qcdrf.setMatchFlags(QContactFilter::MatchFixedString);
         QContactDetailFilter expected;
         expected.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
         expected.setValue(QLatin1String("a"));
-        expected.setMatchFlags(QContactFilter::MatchStartsWith);
+        expected.setMatchFlags(QContactFilter::MatchFixedString);
         QTest::newRow("Equal valued range filter")
                 << static_cast<QContactFilter>(qcdrf)
                 << static_cast<QContactFilter>(expected);
@@ -1004,7 +1062,7 @@
         qcdrf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
         qcdrf.setRange(QLatin1String("a"), QLatin1String("a"),
                QContactDetailRangeFilter::ExcludeLower | QContactDetailRangeFilter::ExcludeUpper);
-        qcdrf.setMatchFlags(QContactFilter::MatchStartsWith);
+        qcdrf.setMatchFlags(QContactFilter::MatchFixedString);
         QTest::newRow("Equal valued range filter with excluded bounds")
                 << static_cast<QContactFilter>(qcdrf)
                 << static_cast<QContactFilter>(invalidFilter);
@@ -1014,7 +1072,7 @@
         QContactDetailRangeFilter qcdrf;
         qcdrf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
         qcdrf.setRange(QLatin1String("a"), QLatin1String("b"));
-        qcdrf.setMatchFlags(QContactFilter::MatchStartsWith);
+        qcdrf.setMatchFlags(QContactFilter::MatchFixedString);
         QTest::newRow("Normal range filter")
                 << static_cast<QContactFilter>(qcdrf)
                 << static_cast<QContactFilter>(qcdrf);
@@ -1024,10 +1082,10 @@
         QContactDetailRangeFilter qcdrf;
         qcdrf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
         qcdrf.setRange(QVariant(QVariant::String), QVariant(QVariant::String)); // null bounds
-        qcdrf.setMatchFlags(QContactFilter::MatchStartsWith);
+        qcdrf.setMatchFlags(QContactFilter::MatchFixedString);
         QContactDetailFilter qcdf;
         qcdf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
-        qcdf.setMatchFlags(QContactFilter::MatchStartsWith);
+        qcdf.setMatchFlags(QContactFilter::MatchFixedString);
         qcdf.setValue(QVariant(QVariant::String));
         QTest::newRow("Null valued range filter")
                 << static_cast<QContactFilter>(qcdrf)
@@ -1038,7 +1096,7 @@
         QContactDetailRangeFilter qcdrf;
         qcdrf.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldCustomLabel);
         qcdrf.setRange(QVariant(QVariant::String), QLatin1String("a")); // min is null
-        qcdrf.setMatchFlags(QContactFilter::MatchStartsWith);
+        qcdrf.setMatchFlags(QContactFilter::MatchFixedString);
         QTest::newRow("One sided range filter")
                 << static_cast<QContactFilter>(qcdrf)
                 << static_cast<QContactFilter>(qcdrf);