qtmobility/tests/auto/qcontactdetail/tst_qcontactdetail.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    41 
    41 
    42 #include <QtTest/QtTest>
    42 #include <QtTest/QtTest>
    43 
    43 
    44 #include "qtcontacts.h"
    44 #include "qtcontacts.h"
    45 #include "qcontactmanagerdataholder.h" //QContactManagerDataHolder
    45 #include "qcontactmanagerdataholder.h" //QContactManagerDataHolder
       
    46 #include <QSet>
    46 
    47 
    47 //TESTED_CLASS=
    48 //TESTED_CLASS=
    48 //TESTED_FILES=
    49 //TESTED_FILES=
    49 
    50 
    50 QTM_USE_NAMESPACE
    51 QTM_USE_NAMESPACE
    66     void classHierarchy();
    67     void classHierarchy();
    67     void assignment();
    68     void assignment();
    68     void templates();
    69     void templates();
    69     void contexts();
    70     void contexts();
    70     void values();
    71     void values();
    71     void preferredActions();
    72     void hash();
    72     void traits();
    73     void traits();
    73 };
    74 };
    74 
    75 
    75 tst_QContactDetail::tst_QContactDetail()
    76 tst_QContactDetail::tst_QContactDetail()
    76 {
    77 {
   540 
   541 
   541     /* Check removing a missing value */
   542     /* Check removing a missing value */
   542     QVERIFY(!p.removeValue("does not exist"));
   543     QVERIFY(!p.removeValue("does not exist"));
   543 }
   544 }
   544 
   545 
   545 void tst_QContactDetail::preferredActions()
   546 void tst_QContactDetail::hash()
   546 {
   547 {
   547     QList<QContactActionDescriptor> prefs;
   548     QContactDetail detail1("definition");
   548     QContactActionDescriptor ad;
   549     detail1.setValue("key", "value");
   549     QContactDetail det;
   550     QContactDetail detail2("definition");
   550 
   551     detail2.setValue("key", "value");
   551     ad.setActionName("test");
   552     QContactDetail detail3("definition");
   552     ad.setImplementationVersion(1);
   553     detail3.setValue("key", "different value");
   553     ad.setVendorName("Nokia");
   554     QVERIFY(qHash(detail1) == qHash(detail2));
   554 
   555     QVERIFY(qHash(detail1) != qHash(detail3));
   555     prefs.append(ad);
   556     QSet<QContactDetail> set;
   556 
   557     set.insert(detail1);
   557     ad.setActionName("test-two");
   558     set.insert(detail2);
   558     ad.setImplementationVersion(1);
   559     set.insert(detail3);
   559     ad.setVendorName("Nokia");
   560     QCOMPARE(set.size(), 2);
   560 
       
   561     prefs.append(ad);
       
   562     det.setPreferredActions(prefs);
       
   563     QVERIFY(det.preferredActions() == prefs);
       
   564 }
   561 }
   565 
   562 
   566 void tst_QContactDetail::traits()
   563 void tst_QContactDetail::traits()
   567 {
   564 {
   568     // QContactDetail has a vtable and a dpointer, so we can't really make claims about the size
   565     QCOMPARE(sizeof(QContactDetail), sizeof(void *));
   569     // QCOMPARE(sizeof(QContactDetail), sizeof(void *));
       
   570     QTypeInfo<QTM_PREPEND_NAMESPACE(QContactDetail)> ti;
   566     QTypeInfo<QTM_PREPEND_NAMESPACE(QContactDetail)> ti;
   571     QVERIFY(ti.isComplex);
   567     QVERIFY(ti.isComplex);
   572     QVERIFY(!ti.isStatic);
   568     QVERIFY(!ti.isStatic);
   573     QVERIFY(ti.isLarge); // virtual table + d pointer
   569     QVERIFY(!ti.isLarge);
   574     QVERIFY(!ti.isPointer);
   570     QVERIFY(!ti.isPointer);
   575     QVERIFY(!ti.isDummy);
   571     QVERIFY(!ti.isDummy);
   576 }
   572 }
   577 
   573 
   578 QTEST_MAIN(tst_QContactDetail)
   574 QTEST_MAIN(tst_QContactDetail)