emailservices/nmutilities/tsrc/unittests/unittest_nmcontacthistorymodel_p/unittest_nmcontacthistorymodel_p.cpp
changeset 74 6c59112cfd31
parent 68 83cc6bae1de8
equal deleted inserted replaced
69:4e54af54a4a1 74:6c59112cfd31
    39 bool ContactIdsCalled;
    39 bool ContactIdsCalled;
    40 
    40 
    41 bool fillMruWithFalseValues;
    41 bool fillMruWithFalseValues;
    42 bool returnZeroEmails;
    42 bool returnZeroEmails;
    43 
    43 
       
    44 bool returnFalseFromGetEntry;
       
    45 
    44 // -----------------------------------------------------------------------------
    46 // -----------------------------------------------------------------------------
    45 // initTestCase
    47 // initTestCase
    46 // -----------------------------------------------------------------------------
    48 // -----------------------------------------------------------------------------
    47 //
    49 //
    48 void TestNmContactHistoryModelPrivate::initTestCase()
    50 void TestNmContactHistoryModelPrivate::initTestCase()
    70     ContactIdsCalled = false;
    72     ContactIdsCalled = false;
    71 
    73 
    72     fillMruWithFalseValues = false;
    74     fillMruWithFalseValues = false;
    73     returnZeroEmails = false;
    75     returnZeroEmails = false;
    74 
    76 
       
    77     returnFalseFromGetEntry = false;
       
    78     
    75     mTestObject = 0;
    79     mTestObject = 0;
    76     mSignalEmitted = false;
    80     mSignalEmitted = false;
    77     mTestObject = new NmContactHistoryModelPrivate(EmailAddressModel);
    81     mTestObject = new NmContactHistoryModelPrivate(EmailAddressModel);
    78 
    82 
    79     QVERIFY(mTestObject);
    83     QVERIFY(mTestObject);
   156     rValue = mTestObject->queryMruDatabase("noReply");
   160     rValue = mTestObject->queryMruDatabase("noReply");
   157 
   161 
   158     QVERIFY( rValue );
   162     QVERIFY( rValue );
   159     rValue = mTestObject->mMruMatches.contains("camel.case");
   163     rValue = mTestObject->mMruMatches.contains("camel.case");
   160     QVERIFY(mTestObject->mMruMatches.count() == 1);
   164     QVERIFY(mTestObject->mMruMatches.count() == 1);
       
   165     
       
   166     mTestObject->mType = PhoneNumberModel;
       
   167     rValue = mTestObject->queryMruDatabase("");
       
   168     
       
   169     QVERIFY( rValue == false );
       
   170     mTestObject->mType = EmailAddressModel;
   161 }
   171 }
   162 
   172 
   163 void TestNmContactHistoryModelPrivate::test_queryContactDatabase() // Ready.
   173 void TestNmContactHistoryModelPrivate::test_queryContactDatabase() // Ready.
   164 {
   174 {
   165     QVERIFY(mTestObject->mModelItemList.count() == 0);
   175     QVERIFY(mTestObject->mModelItemList.count() == 0);
   235     QVERIFY( markup1Start == 0 );
   245     QVERIFY( markup1Start == 0 );
   236     QVERIFY( markup1Stop == 3 );
   246     QVERIFY( markup1Stop == 3 );
   237 
   247 
   238     QVERIFY( markup2Start == 6 );
   248     QVERIFY( markup2Start == 6 );
   239     QVERIFY( markup2Stop == 9 );
   249     QVERIFY( markup2Stop == 9 );
       
   250 
       
   251     mTestObject->mMruMatches.clear();
       
   252     mTestObject->mPrivateItemList.clear();
       
   253     mTestObject->mMruMatches.insert("Name","name@test.com");   
       
   254     mTestObject->mMruMatches.insert("Tset Eman","eman@tset.com");
       
   255     
       
   256     mTestObject->populateListWithMruItems("Name");
       
   257 
       
   258     mTestObject->mPrivateItemList.clear();    
       
   259     mTestObject->populateListWithMruItems("Name");    
   240 }
   260 }
   241 
   261 
   242 void TestNmContactHistoryModelPrivate::test_populateListWithContactItems() // Ready
   262 void TestNmContactHistoryModelPrivate::test_populateListWithContactItems() // Ready
   243 {
   263 {
   244     QVERIFY(mTestObject->mModelItemList.count() == 0);
   264     QVERIFY(mTestObject->mModelItemList.count() == 0);
   300 }
   320 }
   301 
   321 
   302 void TestNmContactHistoryModelPrivate::test_queryDatabases() // Ready
   322 void TestNmContactHistoryModelPrivate::test_queryDatabases() // Ready
   303 {
   323 {
   304     mSignalEmitted = false;
   324     mSignalEmitted = false;
   305     QObject::connect(mTestObject, SIGNAL(queryCompleted(int)), this, SLOT(handleQueryCompleted(int)));
   325     QObject::connect(mTestObject, SIGNAL(queryCompleted(int)), this, SLOT(test_handleQueryCompleted(int)));
   306 
   326 
   307     mTestObject->queryDatabases("Agent");
   327     mTestObject->queryDatabases("Agent");
   308 
   328 
   309     QVERIFY( mSignalEmitted );
   329     QVERIFY( mSignalEmitted );
   310 
   330 
   319 
   339 
   320     QVERIFY( setDetailDefinitionNameCalled );
   340     QVERIFY( setDetailDefinitionNameCalled );
   321     QVERIFY( setMatchFlagsCalled );
   341     QVERIFY( setMatchFlagsCalled );
   322     QVERIFY( setValueCalled );
   342     QVERIFY( setValueCalled );
   323     QVERIFY( ContactIdsCalled );
   343     QVERIFY( ContactIdsCalled );
   324 }
   344     
   325 
   345     mTestObject->queryDatabases("Agent Orange");    
   326 void TestNmContactHistoryModelPrivate::refreshDataModel() // Ready
   346 }
       
   347 
       
   348 void TestNmContactHistoryModelPrivate::test_refreshDataModel() // Ready
   327 {
   349 {
   328     mTestObject->mPrivateItemList.clear();
   350     mTestObject->mPrivateItemList.clear();
   329 
   351 
   330     QVERIFY(mTestObject->mModelItemList.count() == 0);
   352     QVERIFY(mTestObject->mModelItemList.count() == 0);
   331     QVERIFY(mTestObject->mPrivateItemList.count() == 0);
   353     QVERIFY(mTestObject->mPrivateItemList.count() == 0);
   360     QVERIFY(mTestObject->mModelItemList.count() == 1);
   382     QVERIFY(mTestObject->mModelItemList.count() == 1);
   361 
   383 
   362     QSharedPointer<NmContactHistoryModelItemData> testData1
   384     QSharedPointer<NmContactHistoryModelItemData> testData1
   363     (mTestObject->mPrivateItemList[0]);
   385     (mTestObject->mPrivateItemList[0]);
   364 
   386 
   365 //    NmContactHistoryModelItem testData1 = mTestObject->mPrivateItemList[0];
       
   366     NmContactHistoryModelItem testData2 = mTestObject->mModelItemList[0];
   387     NmContactHistoryModelItem testData2 = mTestObject->mModelItemList[0];
   367 
   388 
   368     QVERIFY(testData1->mContactId == testData2.contactId());
   389     QVERIFY(testData1->mContactId == testData2.contactId());
   369     QVERIFY(testData2.subItemCount() == 2);
   390     QVERIFY(testData2.subItemCount() == 2);
   370 
   391 
   373 
   394 
   374     QVERIFY( testItem1.mItemText == itemSubItem1.mItemText );
   395     QVERIFY( testItem1.mItemText == itemSubItem1.mItemText );
   375     QVERIFY( testItem2.mItemText == itemSubItem2.mItemText );
   396     QVERIFY( testItem2.mItemText == itemSubItem2.mItemText );
   376 
   397 
   377     QVERIFY( testItem1.mMatchingRanges.count() == 2 );
   398     QVERIFY( testItem1.mMatchingRanges.count() == 2 );
       
   399     
       
   400     // Test NmContactHistoryModelItem untested functions here.
       
   401     NmContactHistoryModelItem modelItem;
       
   402     NmContactHistoryModelSubItem subItem1;
       
   403     NmContactHistoryModelSubItem subItem2;
       
   404     
       
   405     subItem1.mItemText = "Test Object";
       
   406     subItem2.mItemText = "test.object@cplusplus.com";    
       
   407 
       
   408     modelItem.appendSubItem(subItem1);
       
   409     modelItem.appendSubItem(subItem2);
       
   410     
       
   411     NmContactHistoryModelSubItem testItem3 = modelItem.subItemAt(0xBEEF);
       
   412     QVERIFY( testItem3.mItemText.isEmpty() );
       
   413     QVERIFY( testItem3.mMatchingRanges.count() == 0 );
       
   414 
       
   415     testItem3 = modelItem.subItemAt(0);
       
   416     QVERIFY( testItem3.mItemText == "Test Object" );
       
   417 
       
   418     QList<NmContactHistoryModelSubItem> testItems;
       
   419     testItems = modelItem.subEntries();
       
   420     
       
   421     QVERIFY( testItems.count() == 2 );    
       
   422     testItems.clear();
       
   423     
       
   424     NmContactHistoryModelItem modelItem2;    
       
   425     testItems = modelItem2.subEntries();
       
   426     QVERIFY( testItems.count() == 0 );
   378 }
   427 }
   379 
   428 
   380 void TestNmContactHistoryModelPrivate::test_rowCount() // Ready
   429 void TestNmContactHistoryModelPrivate::test_rowCount() // Ready
   381 {
   430 {
   382     QVERIFY(mTestObject->mModelItemList.count() == 0);
   431     QVERIFY(mTestObject->mModelItemList.count() == 0);
   383 
   432 
   384     NmContactHistoryModelItem item;
   433     NmContactHistoryModelItem item;
   385     item.setContactId(0);
   434     item.setContactId(0);
   386     mTestObject->mModelItemList.append(item);
   435     mTestObject->mModelItemList.append(item);
   387 
   436 
   388     QVERIFY(mTestObject->mModelItemList.count() == 1);
   437     QModelIndex testIndex = QModelIndex();
       
   438     int rowCount = mTestObject->modelRowCount(testIndex);
       
   439     QVERIFY(rowCount == 1);
   389 
   440 
   390     mTestObject->mModelItemList.clear();
   441     mTestObject->mModelItemList.clear();
       
   442     rowCount = mTestObject->modelRowCount(testIndex);
   391     QVERIFY(mTestObject->mModelItemList.count() == 0);
   443     QVERIFY(mTestObject->mModelItemList.count() == 0);
   392 
   444 
   393 }
   445 }
   394 
   446 
   395 void TestNmContactHistoryModelPrivate::test_data() // Ready
   447 void TestNmContactHistoryModelPrivate::test_privateDataCount() // Ready
       
   448 {
       
   449     mTestObject->mPrivateItemList.clear();
       
   450     QVERIFY(mTestObject->mPrivateItemList.count() == 0);
       
   451     int rowCount = mTestObject->privateDataCount();
       
   452 
       
   453 
       
   454     QList<QContactLocalId> cnt_ids;
       
   455     cnt_ids.append(12);
       
   456 
       
   457     // Match in first name.
       
   458     mTestObject->populateListWithContactItems(cnt_ids, "First");
       
   459     QVERIFY( mTestObject->mPrivateItemList.count() == 1 );
       
   460     rowCount = mTestObject->privateDataCount();
       
   461     QVERIFY(rowCount == 1);  
       
   462 }
       
   463 
       
   464 
       
   465 void TestNmContactHistoryModelPrivate::test_dataFunc() // Ready
   396 {
   466 {
   397     QModelIndex testIndex = QModelIndex();
   467     QModelIndex testIndex = QModelIndex();
       
   468       
       
   469     mTestObject->mModelReady = false;
   398     QVariant testVariant = mTestObject->data(testIndex, Qt::DisplayRole);
   470     QVariant testVariant = mTestObject->data(testIndex, Qt::DisplayRole);
       
   471     QCOMPARE(testVariant, QVariant());
       
   472 
       
   473     mTestObject->mModelReady = true;
       
   474     testVariant = mTestObject->data(testIndex, Qt::DisplayRole);
   399     QCOMPARE(testVariant, QVariant());
   475     QCOMPARE(testVariant, QVariant());
   400 
   476 
   401     for (int i = 0; i < 10; i++)
   477     for (int i = 0; i < 10; i++)
   402     {
   478     {
   403         NmContactHistoryModelItem item;
   479         NmContactHistoryModelItem item;
   406     }
   482     }
   407 
   483 
   408     mTestObject->mModelItemList.clear();
   484     mTestObject->mModelItemList.clear();
   409 }
   485 }
   410 
   486 
   411 void TestNmContactHistoryModelPrivate::fillMruMatchList() // Ready
   487 void TestNmContactHistoryModelPrivate::test_fillMruMatchList() // Ready
   412 {
   488 {
   413     mTestObject->mMruList.clear();
   489     mTestObject->mMruList.clear();
   414     bool success = mTestObject->fillMruMatchList();
   490     bool success = mTestObject->fillMruMatchList();
   415 
   491 
   416     QVERIFY( constructorCalled );
   492     QVERIFY( constructorCalled );
   426     bool containsValue = mTestObject->mMruList.contains("camel.case@plusplus.com");
   502     bool containsValue = mTestObject->mMruList.contains("camel.case@plusplus.com");
   427     QVERIFY(containsValue);
   503     QVERIFY(containsValue);
   428 
   504 
   429     containsValue = mTestObject->mMruList.contains("byvalue@plusplus.com");
   505     containsValue = mTestObject->mMruList.contains("byvalue@plusplus.com");
   430     QVERIFY( containsValue );
   506     QVERIFY( containsValue );
   431 }
   507     
   432 
   508     mTestObject->mMruList.clear();
   433 void TestNmContactHistoryModelPrivate::obeyContactOrder() // Ready
   509     returnFalseFromGetEntry = true;   
       
   510     success = mTestObject->fillMruMatchList();
       
   511     
       
   512     QVERIFY( success );
       
   513     QVERIFY(mTestObject->mMruList.count() == 0); 
       
   514 }
       
   515 
       
   516 void TestNmContactHistoryModelPrivate::test_obeyContactOrder() // Ready
   434 {
   517 {
   435     QString first = "Test";
   518     QString first = "Test";
   436     QString last = "Name";
   519     QString last = "Name";
   437 
   520 
   438     // LastNameFirstName
   521     // LastNameFirstName
   459 // Signals
   542 // Signals
   460 
   543 
   461 void TestNmContactHistoryModelPrivate::test_queryCompleted() // Ready
   544 void TestNmContactHistoryModelPrivate::test_queryCompleted() // Ready
   462 {
   545 {
   463     mSignalEmitted = false;
   546     mSignalEmitted = false;
   464     QObject::connect(mTestObject, SIGNAL(queryCompleted(int)), this, SLOT(handleQueryCompleted(int)));
   547     QObject::connect(mTestObject, SIGNAL(queryCompleted(int)), this, SLOT(test_handleQueryCompleted(int)));
   465     mTestObject->queryDatabases(QString());
   548     mTestObject->queryDatabases(QString());
   466     QVERIFY( mSignalEmitted );
   549     QVERIFY( mSignalEmitted );
   467 }
   550 }
   468 
   551 
   469 void TestNmContactHistoryModelPrivate::handleQueryCompleted(int err) // Internal
   552 void TestNmContactHistoryModelPrivate::test_handleQueryCompleted(int err) // Internal
   470 {
   553 {
   471    Q_UNUSED(err);
   554    Q_UNUSED(err);
   472    mSignalEmitted = true;
   555    mSignalEmitted = true;
   473 }
   556 }
   474 
   557