logsui/logsengine/tsrc/ut_logsengine/src/ut_logsmodel.cpp
changeset 15 76d2cf7a585e
parent 13 52d644758b05
child 17 90fe74753f71
--- a/logsui/logsengine/tsrc/ut_logsengine/src/ut_logsmodel.cpp	Fri Aug 06 14:57:47 2010 +0300
+++ b/logsui/logsengine/tsrc/ut_logsengine/src/ut_logsmodel.cpp	Mon Aug 23 18:14:51 2010 +0300
@@ -26,6 +26,7 @@
 #include "logsdbconnector_stub_helper.h"
 #include "logscommondata.h"
 #include "logsconfigurationparams.h"
+#include "hbstubs_helper.h"
 
 #include <hbicon.h>
 #include <QtTest/QtTest>
@@ -39,7 +40,7 @@
 
 #define LOGS_TEST_CMP_ICONS( var, icon ){ \
      const HbIcon& tempIcon = qVariantValue<HbIcon>( var );\
-     QVERIFY( &tempIcon == icon ); }
+     QVERIFY( tempIcon == *icon ); }
 
 #define LOGS_TEST_CREATE_EVENT(eventName, index, eventState ) \
 LogsEvent* eventName = new LogsEvent; \
@@ -60,6 +61,7 @@
 
 void UT_LogsModel::init()
 {
+    HbStubHelper::reset();
     mModel = new LogsModel();
     LogsCommonData::getInstance().currentConfiguration().setListItemTextWidth(360); 
 }
@@ -119,13 +121,16 @@
     mModel->mEvents.at(0)->setEventType(LogsEvent::TypeUndefined);
     QVariant callData = mModel->data(mModel->index(0), LogsModel::RoleCall);
     LogsCall *call = qVariantValue<LogsCall *>( callData );
-    QVERIFY ( !call );
+    QVERIFY ( call );
+    QVERIFY( call->defaultCallType() == LogsCall::TypeLogsCallNotAvailable );
+    delete call;
     
     // Call supported
     mModel->mEvents.at(0)->setEventType(LogsEvent::TypeVoiceCall);
     QVariant callData2 = mModel->data(mModel->index(0), LogsModel::RoleCall);
     LogsCall *call2 = qVariantValue<LogsCall *>( callData2 );
     QVERIFY ( call2 );
+    QVERIFY( call2->defaultCallType() != LogsCall::TypeLogsCallNotAvailable );
     delete call2;
     
     // Details model
@@ -305,6 +310,7 @@
     icons.clear();
     event->setDirection(LogsEvent::DirMissed);
     event->setEventType(LogsEvent::TypeVideoCall);
+    event->setIsRead(true);
     mModel->getDecorationData(*event, icons);
     QVERIFY(icons.count() == 1);
     LOGS_TEST_CMP_ICONS(icons.at(0), mModel->mIcons.value( logsMissedVideoCallIconId ));
@@ -403,6 +409,8 @@
 
 void UT_LogsModel::testGetCallerId()
 {
+    HbStubHelper::stringUtilDigitConversion(true);
+    
     //add private and unknown
     // No name or number
     LogsEvent event;
@@ -411,7 +419,7 @@
     // No name
     QString num("+12345555");
     event.setNumber(num);
-    QVERIFY( mModel->getCallerId(event) == num );
+    QCOMPARE( mModel->getCallerId(event), "conv" + num );
     
     // No number
     QString remote("Souuu");
@@ -424,6 +432,7 @@
     QVERIFY( mModel->getCallerId(event) == remote );
     
     // Only remote url
+    
     event.setNumber("");
     event.setRemoteParty("");
     LogsEventData* eventData = new LogsEventData;
@@ -433,11 +442,12 @@
     
     // Duplicates
     event.setDuplicates(3);
-    QVERIFY( mModel->getCallerId(event) == "test@1.2.3.4(4)" );
+    QVERIFY( mModel->getCallerId(event) == "test@1.2.3.4(conv4)" );
     
     // Duplicates for already read event
     event.setIsRead(true);
     QVERIFY( mModel->getCallerId(event) == "test@1.2.3.4" );
+    HbStubHelper::reset();
 }
 
 void UT_LogsModel::testSqueezedString()
@@ -544,21 +554,25 @@
 void UT_LogsModel::testUpdateConfiguration()
 {   
     QSignalSpy spy(mModel, SIGNAL(modelReset()));
+    QSignalSpy spy2(mModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)));
     
     // No previous config, reset not signaled
     LogsConfigurationParams params;
     params.setListItemTextWidth(200);
     mModel->updateConfiguration(params);
     QVERIFY( spy.count() == 0 );
+    QVERIFY( spy2.count() == 0 );
     
     // Previous config but no change, reset not signaled
     mModel->updateConfiguration(params);
     QVERIFY( spy.count() == 0 );
+    QVERIFY( spy2.count() == 0 );
     
     // Config changed but no unseen events, reset not signaled
     params.setListItemTextWidth(400);
     mModel->updateConfiguration(params);
     QVERIFY( spy.count() == 0 );
+    QVERIFY( spy2.count() == 0 );
     
     // Config changed and unseen events, reset signaled
     LOGS_TEST_CREATE_EVENT(event, 1, LogsEvent::EventAdded );
@@ -567,5 +581,23 @@
     params.setListItemTextWidth(300);
     mModel->updateConfiguration(params);
     QVERIFY( spy.count() == 1 );
+    QVERIFY( spy2.count() == 0 );
         
+    //Locale changed, model not empty
+    spy.clear();
+    params.setLocaleChanged(true);
+    QVERIFY( mModel->rowCount(QModelIndex()) == 1 );
+    mModel->updateConfiguration(params);
+    QVERIFY( spy.count() == 0 );
+    QVERIFY( spy2.count() == 1 );
+    
+    // Locale changed, model is empty
+    spy.clear();
+    spy2.clear();
+    qDeleteAll( mModel->mEvents );
+    mModel->mEvents.clear();
+    QVERIFY( mModel->rowCount(QModelIndex()) == 0 );
+    mModel->updateConfiguration(params);
+    QVERIFY( spy.count() == 0 );
+    QVERIFY( spy2.count() == 0 );    
 }