qtmobility/tests/auto/qcontactdetail/tst_qcontactdetail.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
--- a/qtmobility/tests/auto/qcontactdetail/tst_qcontactdetail.cpp	Fri Apr 16 15:51:22 2010 +0300
+++ b/qtmobility/tests/auto/qcontactdetail/tst_qcontactdetail.cpp	Mon May 03 13:18:40 2010 +0300
@@ -43,6 +43,7 @@
 
 #include "qtcontacts.h"
 #include "qcontactmanagerdataholder.h" //QContactManagerDataHolder
+#include <QSet>
 
 //TESTED_CLASS=
 //TESTED_FILES=
@@ -68,7 +69,7 @@
     void templates();
     void contexts();
     void values();
-    void preferredActions();
+    void hash();
     void traits();
 };
 
@@ -542,35 +543,30 @@
     QVERIFY(!p.removeValue("does not exist"));
 }
 
-void tst_QContactDetail::preferredActions()
+void tst_QContactDetail::hash()
 {
-    QList<QContactActionDescriptor> prefs;
-    QContactActionDescriptor ad;
-    QContactDetail det;
-
-    ad.setActionName("test");
-    ad.setImplementationVersion(1);
-    ad.setVendorName("Nokia");
-
-    prefs.append(ad);
-
-    ad.setActionName("test-two");
-    ad.setImplementationVersion(1);
-    ad.setVendorName("Nokia");
-
-    prefs.append(ad);
-    det.setPreferredActions(prefs);
-    QVERIFY(det.preferredActions() == prefs);
+    QContactDetail detail1("definition");
+    detail1.setValue("key", "value");
+    QContactDetail detail2("definition");
+    detail2.setValue("key", "value");
+    QContactDetail detail3("definition");
+    detail3.setValue("key", "different value");
+    QVERIFY(qHash(detail1) == qHash(detail2));
+    QVERIFY(qHash(detail1) != qHash(detail3));
+    QSet<QContactDetail> set;
+    set.insert(detail1);
+    set.insert(detail2);
+    set.insert(detail3);
+    QCOMPARE(set.size(), 2);
 }
 
 void tst_QContactDetail::traits()
 {
-    // QContactDetail has a vtable and a dpointer, so we can't really make claims about the size
-    // QCOMPARE(sizeof(QContactDetail), sizeof(void *));
+    QCOMPARE(sizeof(QContactDetail), sizeof(void *));
     QTypeInfo<QTM_PREPEND_NAMESPACE(QContactDetail)> ti;
     QVERIFY(ti.isComplex);
     QVERIFY(!ti.isStatic);
-    QVERIFY(ti.isLarge); // virtual table + d pointer
+    QVERIFY(!ti.isLarge);
     QVERIFY(!ti.isPointer);
     QVERIFY(!ti.isDummy);
 }