qtmobility/tests/auto/qmessagestorekeys/tst_qmessagestorekeys.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
   226                             ("parentFolderPath", "")
   226                             ("parentFolderPath", "")
   227                  << Params()("parentAccountName", "Work")
   227                  << Params()("parentAccountName", "Work")
   228                             ("path", "Innbox")
   228                             ("path", "Innbox")
   229                             ("name", "Innbox")
   229                             ("name", "Innbox")
   230                             ("parentFolderPath", "")
   230                             ("parentFolderPath", "")
   231 #ifndef Q_OS_SYMBIAN
   231 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   232                  << Params()("parentAccountName", "Work")
   232                  << Params()("parentAccountName", "Work")
   233                             ("path", "Innbox/X-Announce")
   233                             ("path", "Innbox/X-Announce")
   234                             ("name", "X-Announce")
   234                             ("name", "X-Announce")
   235                             ("parentFolderPath", "Innbox")
   235                             ("parentFolderPath", "Innbox")
   236                  << Params()("parentAccountName", "Work")
   236                  << Params()("parentAccountName", "Work")
   251     foreach (const Support::Parameters &params, folderParams) {
   251     foreach (const Support::Parameters &params, folderParams) {
   252         folderIds.append(Support::addFolder(params));
   252         folderIds.append(Support::addFolder(params));
   253         QVERIFY(folderIds.last().isValid());
   253         QVERIFY(folderIds.last().isValid());
   254     }
   254     }
   255 
   255 
       
   256 #if defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6)
       
   257     // Local folders can be seen through every account
       
   258     // => Make sure that existingFolderIds contains all folderIds
       
   259     //    but not ids which were returned from addFolder calls
       
   260     QMessageFolderFilter folderFilter;
       
   261     foreach(QMessageAccountId id, accountIds) {
       
   262         folderFilter |= QMessageFolderFilter::byParentAccountId(id);
       
   263     }
       
   264     QSet<QMessageFolderId> newFolderIds = manager->queryFolders(folderFilter).toSet().subtract(existingFolderIds);
       
   265     newFolderIds = newFolderIds.subtract(folderIds.toSet());
       
   266     existingFolderIds.unite(newFolderIds);
       
   267 #endif
       
   268 
   256     existingMessageIds = manager->queryMessages(~existingAccountsFilter).toSet();
   269     existingMessageIds = manager->queryMessages(~existingAccountsFilter).toSet();
   257 
   270 
   258     // For windows at least, we can't have HasAttachments set without a real attachment
   271     // For windows at least, we can't have HasAttachments set without a real attachment
   259 #ifndef Q_OS_SYMBIAN
   272 #ifndef Q_OS_SYMBIAN
   260     const char *attachmentPaths = TESTDATA_DIR "/testdata/1.txt";
   273     const char *attachmentPaths = TESTDATA_DIR "/testdata/1.txt";
   263 #endif
   276 #endif
   264 
   277 
   265     QList<Support::Parameters> messageParams;
   278     QList<Support::Parameters> messageParams;
   266     messageParams << Params()("parentAccountName", "Alter Ego")
   279     messageParams << Params()("parentAccountName", "Alter Ego")
   267                              ("parentFolderPath", "My messages")
   280                              ("parentFolderPath", "My messages")
   268 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN)) // SMS messages must be in SMS store on Windows and on Symbian
   281 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN)) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6) // SMS messages must be in SMS store on Windows and on Symbian
   269                              ("type", "email")
   282                              ("type", "email")
   270 #else
   283 #else
   271                              ("type", "sms")
   284                              ("type", "sms")
   272 #endif
   285 #endif
   273                              ("to", "SuperMegaLightningBabe")
   286                              ("to", "SuperMegaLightningBabe")
   306                              ("priority", "High")
   319                              ("priority", "High")
   307                              ("size", "20480")
   320                              ("size", "20480")
   308                              ("status-hasAttachments", "true")
   321                              ("status-hasAttachments", "true")
   309                              ("attachments", attachmentPaths)
   322                              ("attachments", attachmentPaths)
   310                              ("custom-spam", "filter:no")
   323                              ("custom-spam", "filter:no")
   311 #ifndef Q_OS_SYMBIAN                             
   324 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   312                   << Params()("parentAccountName", "Work")
   325                   << Params()("parentAccountName", "Work")
   313                              ("parentFolderPath", "Innbox/X-Announce")
   326                              ("parentFolderPath", "Innbox/X-Announce")
   314                              ("type", "email")
   327                              ("type", "email")
   315                              ("to", "announce@example.com,maintenance-log@example.com")
   328                              ("to", "announce@example.com,maintenance-log@example.com")
   316                              ("from", "sysadmin@example.com")
   329                              ("from", "sysadmin@example.com")
   773     QTest::newRow("id list inclusion 3")
   786     QTest::newRow("id list inclusion 3")
   774         << QMessageFolderFilter::byId(QMessageFolderIdList() << folderIds[0] << folderIds[1], QMessageDataComparator::Includes) 
   787         << QMessageFolderFilter::byId(QMessageFolderIdList() << folderIds[0] << folderIds[1], QMessageDataComparator::Includes) 
   775         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] )
   788         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] )
   776         << ( QMessageFolderIdList() << folderIds[2] << folderIds[3] );
   789         << ( QMessageFolderIdList() << folderIds[2] << folderIds[3] );
   777 
   790 
       
   791 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   778     QTest::newRow("id list inclusion empty")
   792     QTest::newRow("id list inclusion empty")
   779         << QMessageFolderFilter::byId(QMessageFolderIdList(), QMessageDataComparator::Includes) 
   793         << QMessageFolderFilter::byId(QMessageFolderIdList(), QMessageDataComparator::Includes) 
   780         << QMessageFolderIdList()
   794         << QMessageFolderIdList()
   781         << folderIds;
   795         << folderIds;
       
   796 #endif
   782 
   797 
   783     QTest::newRow("id list exclusion 1")
   798     QTest::newRow("id list exclusion 1")
   784         << QMessageFolderFilter::byId(QMessageFolderIdList() << folderIds[0], QMessageDataComparator::Excludes) 
   799         << QMessageFolderFilter::byId(QMessageFolderIdList() << folderIds[0], QMessageDataComparator::Excludes) 
   785         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] )
   800         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] )
   786         << ( QMessageFolderIdList() << folderIds[0] );
   801         << ( QMessageFolderIdList() << folderIds[0] );
   793     QTest::newRow("id list exclusion 3")
   808     QTest::newRow("id list exclusion 3")
   794         << QMessageFolderFilter::byId(QMessageFolderIdList() << folderIds[0] << folderIds[1], QMessageDataComparator::Excludes) 
   809         << QMessageFolderFilter::byId(QMessageFolderIdList() << folderIds[0] << folderIds[1], QMessageDataComparator::Excludes) 
   795         << ( QMessageFolderIdList() << folderIds[2] << folderIds[3] )
   810         << ( QMessageFolderIdList() << folderIds[2] << folderIds[3] )
   796         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] );
   811         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] );
   797 
   812 
       
   813 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   798     QTest::newRow("id list exclusion empty")
   814     QTest::newRow("id list exclusion empty")
   799         << QMessageFolderFilter::byId(QMessageFolderIdList(), QMessageDataComparator::Excludes) 
   815         << QMessageFolderFilter::byId(QMessageFolderIdList(), QMessageDataComparator::Excludes) 
   800         << folderIds
   816         << folderIds
   801         << QMessageFolderIdList();
   817         << QMessageFolderIdList();
       
   818 #endif
   802 
   819 
   803     QTest::newRow("id filter inclusion 1")
   820     QTest::newRow("id filter inclusion 1")
   804         << QMessageFolderFilter::byId(QMessageFolderFilter::byPath("My messages", QMessageDataComparator::Equal), QMessageDataComparator::Includes)
   821         << QMessageFolderFilter::byId(QMessageFolderFilter::byPath("My messages", QMessageDataComparator::Equal), QMessageDataComparator::Includes)
   805         << ( QMessageFolderIdList() << folderIds[0] )
   822         << ( QMessageFolderIdList() << folderIds[0] )
   806         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] );
   823         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] );
   807 
   824 
   808 #ifndef Q_OS_SYMBIAN    
   825 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   809     QTest::newRow("id filter inclusion 2")
   826     QTest::newRow("id filter inclusion 2")
   810         << QMessageFolderFilter::byId(QMessageFolderFilter::byPath("Innbox/X-Announce", QMessageDataComparator::Equal), QMessageDataComparator::Includes)
   827         << QMessageFolderFilter::byId(QMessageFolderFilter::byPath("Innbox/X-Announce", QMessageDataComparator::Equal), QMessageDataComparator::Includes)
   811         << ( QMessageFolderIdList() << folderIds[2] )
   828         << ( QMessageFolderIdList() << folderIds[2] )
   812         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] << folderIds[3] );
   829         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] << folderIds[3] );
   813 
   830 
   830     QTest::newRow("id filter exclusion 1")
   847     QTest::newRow("id filter exclusion 1")
   831         << QMessageFolderFilter::byId(QMessageFolderFilter::byPath("My messages", QMessageDataComparator::Equal), QMessageDataComparator::Excludes)
   848         << QMessageFolderFilter::byId(QMessageFolderFilter::byPath("My messages", QMessageDataComparator::Equal), QMessageDataComparator::Excludes)
   832         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] )
   849         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] )
   833         << ( QMessageFolderIdList() << folderIds[0] );
   850         << ( QMessageFolderIdList() << folderIds[0] );
   834 
   851 
   835 #ifndef Q_OS_SYMBIAN    
   852 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   836     QTest::newRow("id filter exclusion 2")
   853     QTest::newRow("id filter exclusion 2")
   837         << QMessageFolderFilter::byId(QMessageFolderFilter::byPath("Innbox/X-Announce", QMessageDataComparator::Equal), QMessageDataComparator::Excludes)
   854         << QMessageFolderFilter::byId(QMessageFolderFilter::byPath("Innbox/X-Announce", QMessageDataComparator::Equal), QMessageDataComparator::Excludes)
   838         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] << folderIds[3] )
   855         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] << folderIds[3] )
   839         << ( QMessageFolderIdList() << folderIds[2] );
   856         << ( QMessageFolderIdList() << folderIds[2] );
   840 
   857 
   857     QTest::newRow("path equality 1")
   874     QTest::newRow("path equality 1")
   858         << QMessageFolderFilter::byPath("My messages", QMessageDataComparator::Equal)
   875         << QMessageFolderFilter::byPath("My messages", QMessageDataComparator::Equal)
   859         << ( QMessageFolderIdList() << folderIds[0] )
   876         << ( QMessageFolderIdList() << folderIds[0] )
   860         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] );
   877         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] );
   861 
   878 
   862 #ifndef Q_OS_SYMBIAN    
   879 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   863     QTest::newRow("path equality 2")
   880     QTest::newRow("path equality 2")
   864         << QMessageFolderFilter::byPath("Innbox/X-Announce", QMessageDataComparator::Equal)
   881         << QMessageFolderFilter::byPath("Innbox/X-Announce", QMessageDataComparator::Equal)
   865         << ( QMessageFolderIdList() << folderIds[2] )
   882         << ( QMessageFolderIdList() << folderIds[2] )
   866         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] << folderIds[3] );
   883         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] << folderIds[3] );
   867 #endif    
   884 #endif    
   884     QTest::newRow("path inequality 1")
   901     QTest::newRow("path inequality 1")
   885         << QMessageFolderFilter::byPath("My messages", QMessageDataComparator::NotEqual)
   902         << QMessageFolderFilter::byPath("My messages", QMessageDataComparator::NotEqual)
   886         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] )
   903         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] )
   887         << ( QMessageFolderIdList() << folderIds[0] );
   904         << ( QMessageFolderIdList() << folderIds[0] );
   888 
   905 
   889 #ifndef Q_OS_SYMBIAN    
   906 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   890     QTest::newRow("path inequality 2")
   907     QTest::newRow("path inequality 2")
   891         << QMessageFolderFilter::byPath("Innbox/X-Announce", QMessageDataComparator::NotEqual)
   908         << QMessageFolderFilter::byPath("Innbox/X-Announce", QMessageDataComparator::NotEqual)
   892         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] << folderIds[3] )
   909         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] << folderIds[3] )
   893         << ( QMessageFolderIdList() << folderIds[2] );
   910         << ( QMessageFolderIdList() << folderIds[2] );
   894 #endif    
   911 #endif    
   911     QTest::newRow("path inclusion 1")
   928     QTest::newRow("path inclusion 1")
   912         << QMessageFolderFilter::byPath("ess", QMessageDataComparator::Includes) 
   929         << QMessageFolderFilter::byPath("ess", QMessageDataComparator::Includes) 
   913         << ( QMessageFolderIdList() << folderIds[0] )
   930         << ( QMessageFolderIdList() << folderIds[0] )
   914         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] );
   931         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] );
   915 
   932 
   916 #ifndef Q_OS_SYMBIAN    
   933 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   917     QTest::newRow("path inclusion 2")
   934     QTest::newRow("path inclusion 2")
   918         << QMessageFolderFilter::byPath("box/X-Ann", QMessageDataComparator::Includes)
   935         << QMessageFolderFilter::byPath("box/X-Ann", QMessageDataComparator::Includes)
   919         << ( QMessageFolderIdList() << folderIds[2] << folderIds[3] )
   936         << ( QMessageFolderIdList() << folderIds[2] << folderIds[3] )
   920         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] );
   937         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] );
   921 #endif    
   938 #endif    
   938     QTest::newRow("path exclusion 1")
   955     QTest::newRow("path exclusion 1")
   939         << QMessageFolderFilter::byPath("ess", QMessageDataComparator::Excludes) 
   956         << QMessageFolderFilter::byPath("ess", QMessageDataComparator::Excludes) 
   940         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] )
   957         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] )
   941         << ( QMessageFolderIdList() << folderIds[0] );
   958         << ( QMessageFolderIdList() << folderIds[0] );
   942 
   959 
   943 #ifndef Q_OS_SYMBIAN    
   960 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   944     QTest::newRow("path exclusion 2")
   961     QTest::newRow("path exclusion 2")
   945         << QMessageFolderFilter::byPath("box/X-Ann", QMessageDataComparator::Excludes)
   962         << QMessageFolderFilter::byPath("box/X-Ann", QMessageDataComparator::Excludes)
   946         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] )
   963         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] )
   947         << ( QMessageFolderIdList() << folderIds[2] << folderIds[3] );
   964         << ( QMessageFolderIdList() << folderIds[2] << folderIds[3] );
   948 #endif    
   965 #endif    
  1090     QTest::newRow("parentAccountId inequality invalid")
  1107     QTest::newRow("parentAccountId inequality invalid")
  1091         << QMessageFolderFilter::byParentAccountId(QMessageAccountId(), QMessageDataComparator::NotEqual) 
  1108         << QMessageFolderFilter::byParentAccountId(QMessageAccountId(), QMessageDataComparator::NotEqual) 
  1092         << folderIds
  1109         << folderIds
  1093         << QMessageFolderIdList();
  1110         << QMessageFolderIdList();
  1094 
  1111 
       
  1112 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1095     QTest::newRow("parentAccountId filter inclusion 1")
  1113     QTest::newRow("parentAccountId filter inclusion 1")
  1096         << QMessageFolderFilter::byParentAccountId(QMessageAccountFilter::byName("Alter Ego", QMessageDataComparator::Equal), QMessageDataComparator::Includes) 
  1114         << QMessageFolderFilter::byParentAccountId(QMessageAccountFilter::byName("Alter Ego", QMessageDataComparator::Equal), QMessageDataComparator::Includes) 
  1097         << ( QMessageFolderIdList() << folderIds[0] )
  1115         << ( QMessageFolderIdList() << folderIds[0] )
  1098         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] );
  1116         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] );
  1099 
  1117 
  1139 
  1157 
  1140     QTest::newRow("parentAccountId filter exclusion non-matching")
  1158     QTest::newRow("parentAccountId filter exclusion non-matching")
  1141         << QMessageFolderFilter::byParentAccountId(QMessageAccountFilter::byName("NoneSuch"), QMessageDataComparator::Excludes) 
  1159         << QMessageFolderFilter::byParentAccountId(QMessageAccountFilter::byName("NoneSuch"), QMessageDataComparator::Excludes) 
  1142         << folderIds
  1160         << folderIds
  1143         << QMessageFolderIdList();
  1161         << QMessageFolderIdList();
  1144 
  1162 #endif
  1145 #ifndef Q_OS_SYMBIAN
  1163 
       
  1164 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1146     QTest::newRow("parentFolderId equality 1")
  1165     QTest::newRow("parentFolderId equality 1")
  1147         << QMessageFolderFilter::byParentFolderId(folderIds[1], QMessageDataComparator::Equal) 
  1166         << QMessageFolderFilter::byParentFolderId(folderIds[1], QMessageDataComparator::Equal) 
  1148         << ( QMessageFolderIdList() << folderIds[2] )
  1167         << ( QMessageFolderIdList() << folderIds[2] )
  1149         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] << folderIds[3] );
  1168         << ( QMessageFolderIdList() << folderIds[0] << folderIds[1] << folderIds[3] );
  1150 
  1169 
  1376     QTest::addColumn<FolderSortList>("sorts");
  1395     QTest::addColumn<FolderSortList>("sorts");
  1377     QTest::addColumn<QMessageFolderIdList>("ids");
  1396     QTest::addColumn<QMessageFolderIdList>("ids");
  1378 
  1397 
  1379     QTest::newRow("path ascending")
  1398     QTest::newRow("path ascending")
  1380         << ( FolderSortList() << QMessageFolderSortOrder::byPath(Qt::AscendingOrder) )
  1399         << ( FolderSortList() << QMessageFolderSortOrder::byPath(Qt::AscendingOrder) )
  1381 #ifndef Q_OS_SYMBIAN    
  1400 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1382         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] << folderIds[0] );
  1401         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] << folderIds[0] );
  1383 #else
  1402 #else
  1384         << ( QMessageFolderIdList() << folderIds[1] << folderIds[0] << folderIds[2] << folderIds[3] );
  1403         << ( QMessageFolderIdList() << folderIds[1] << folderIds[0] << folderIds[2] << folderIds[3] );
  1385 #endif
  1404 #endif
  1386 
  1405 
  1387     QTest::newRow("path descending")
  1406     QTest::newRow("path descending")
  1388         << ( FolderSortList() << QMessageFolderSortOrder::byPath(Qt::DescendingOrder) )
  1407         << ( FolderSortList() << QMessageFolderSortOrder::byPath(Qt::DescendingOrder) )
  1389 #ifndef Q_OS_SYMBIAN    
  1408 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1390         << ( QMessageFolderIdList() << folderIds[0] << folderIds[3] << folderIds[2] << folderIds[1] );
  1409         << ( QMessageFolderIdList() << folderIds[0] << folderIds[3] << folderIds[2] << folderIds[1] );
  1391 #else
  1410 #else
  1392         << ( QMessageFolderIdList() << folderIds[3] << folderIds[2] << folderIds[0] << folderIds[1] );
  1411         << ( QMessageFolderIdList() << folderIds[3] << folderIds[2] << folderIds[0] << folderIds[1] );
  1393 #endif
  1412 #endif
  1394 
  1413 
  1400         << ( FolderSortList() << QMessageFolderSortOrder::byName(Qt::DescendingOrder) )
  1419         << ( FolderSortList() << QMessageFolderSortOrder::byName(Qt::DescendingOrder) )
  1401         << ( QMessageFolderIdList() << folderIds[3] << folderIds[2] << folderIds[0] << folderIds[1] );
  1420         << ( QMessageFolderIdList() << folderIds[3] << folderIds[2] << folderIds[0] << folderIds[1] );
  1402     
  1421     
  1403     QTest::newRow("path ascending + name ascending")
  1422     QTest::newRow("path ascending + name ascending")
  1404         << ( FolderSortList() << QMessageFolderSortOrder::byPath(Qt::AscendingOrder) << QMessageFolderSortOrder::byName(Qt::AscendingOrder) )
  1423         << ( FolderSortList() << QMessageFolderSortOrder::byPath(Qt::AscendingOrder) << QMessageFolderSortOrder::byName(Qt::AscendingOrder) )
  1405 #ifndef Q_OS_SYMBIAN    
  1424 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1406         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] << folderIds[0] );
  1425         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] << folderIds[0] );
  1407 #else
  1426 #else
  1408         << ( QMessageFolderIdList() << folderIds[1] << folderIds[0] << folderIds[2] << folderIds[3] );
  1427         << ( QMessageFolderIdList() << folderIds[1] << folderIds[0] << folderIds[2] << folderIds[3] );
  1409 #endif
  1428 #endif
  1410 
  1429 
  1411     QMessageFolderSortOrder plusEquals(QMessageFolderSortOrder::byPath(Qt::AscendingOrder));
  1430     QMessageFolderSortOrder plusEquals(QMessageFolderSortOrder::byPath(Qt::AscendingOrder));
  1412     plusEquals += QMessageFolderSortOrder::byName(Qt::AscendingOrder);
  1431     plusEquals += QMessageFolderSortOrder::byName(Qt::AscendingOrder);
  1413 
  1432 
  1414     QTest::newRow("path ascending += name ascending")
  1433     QTest::newRow("path ascending += name ascending")
  1415         << ( FolderSortList() << plusEquals )
  1434         << ( FolderSortList() << plusEquals )
  1416 #ifndef Q_OS_SYMBIAN    
  1435 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1417         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] << folderIds[0] );
  1436         << ( QMessageFolderIdList() << folderIds[1] << folderIds[2] << folderIds[3] << folderIds[0] );
  1418 #else
  1437 #else
  1419         << ( QMessageFolderIdList() << folderIds[1] << folderIds[0] << folderIds[2] << folderIds[3] );
  1438         << ( QMessageFolderIdList() << folderIds[1] << folderIds[0] << folderIds[2] << folderIds[3] );
  1420 #endif
  1439 #endif
  1421 }
  1440 }
  1515         << QMessageFilter::byId(QMessageIdList() << messageIds[0] << messageIds[1], QMessageDataComparator::Includes) 
  1534         << QMessageFilter::byId(QMessageIdList() << messageIds[0] << messageIds[1], QMessageDataComparator::Includes) 
  1516         << ( QMessageIdList() << messageIds[0] << messageIds[1] )
  1535         << ( QMessageIdList() << messageIds[0] << messageIds[1] )
  1517         << ( QMessageIdList() << messageIds[2] << messageIds[3] << messageIds[4] )
  1536         << ( QMessageIdList() << messageIds[2] << messageIds[3] << messageIds[4] )
  1518         << "";
  1537         << "";
  1519 
  1538 
       
  1539 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1520     QTest::newRow("id list inclusion empty")
  1540     QTest::newRow("id list inclusion empty")
  1521         << QMessageFilter::byId(QMessageIdList(), QMessageDataComparator::Includes) 
  1541         << QMessageFilter::byId(QMessageIdList(), QMessageDataComparator::Includes) 
  1522         << QMessageIdList()
  1542         << QMessageIdList()
  1523         << messageIds
  1543         << messageIds
  1524         << "";
  1544         << "";
       
  1545 #endif
  1525 
  1546 
  1526     QTest::newRow("id list exclusion 1")
  1547     QTest::newRow("id list exclusion 1")
  1527         << QMessageFilter::byId(QMessageIdList() << messageIds[0], QMessageDataComparator::Excludes) 
  1548         << QMessageFilter::byId(QMessageIdList() << messageIds[0], QMessageDataComparator::Excludes) 
  1528         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1549         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1529         << ( QMessageIdList() << messageIds[0] )
  1550         << ( QMessageIdList() << messageIds[0] )
  1539         << QMessageFilter::byId(QMessageIdList() << messageIds[0] << messageIds[1], QMessageDataComparator::Excludes) 
  1560         << QMessageFilter::byId(QMessageIdList() << messageIds[0] << messageIds[1], QMessageDataComparator::Excludes) 
  1540         << ( QMessageIdList() << messageIds[2] << messageIds[3] << messageIds[4] )
  1561         << ( QMessageIdList() << messageIds[2] << messageIds[3] << messageIds[4] )
  1541         << ( QMessageIdList() << messageIds[0] << messageIds[1] )
  1562         << ( QMessageIdList() << messageIds[0] << messageIds[1] )
  1542         << "";
  1563         << "";
  1543 
  1564 
       
  1565 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1544     QTest::newRow("id list exclusion empty")
  1566     QTest::newRow("id list exclusion empty")
  1545         << QMessageFilter::byId(QMessageIdList(), QMessageDataComparator::Excludes) 
  1567         << QMessageFilter::byId(QMessageIdList(), QMessageDataComparator::Excludes) 
  1546         << messageIds
  1568         << messageIds
  1547         << QMessageIdList()
  1569         << QMessageIdList()
  1548         << "";
  1570         << "";
       
  1571 #endif
  1549 
  1572 
  1550     QTest::newRow("id filter inclusion empty")
  1573     QTest::newRow("id filter inclusion empty")
  1551         << QMessageFilter::byId(QMessageFilter(), QMessageDataComparator::Includes) 
  1574         << QMessageFilter::byId(QMessageFilter(), QMessageDataComparator::Includes) 
  1552         << messageIds
  1575         << messageIds
  1553         << QMessageIdList()
  1576         << QMessageIdList()
  1566         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  1589         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  1567         << "";
  1590         << "";
  1568 
  1591 
  1569     QTest::newRow("type equality 1")
  1592     QTest::newRow("type equality 1")
  1570         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Equal) 
  1593         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Equal) 
  1571 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
  1594 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  1572         << QMessageIdList()
  1595         << QMessageIdList()
  1573         << messageIds
  1596         << messageIds
  1574 #else
  1597 #else
  1575         << ( QMessageIdList() << messageIds[0] )
  1598         << ( QMessageIdList() << messageIds[0] )
  1576         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1599         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1577 #endif
  1600 #endif
  1578         << "";
  1601         << "";
  1579 
  1602 
  1580     QTest::newRow("type equality 2")
  1603     QTest::newRow("type equality 2")
  1581         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Equal) 
  1604         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Equal) 
  1582 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
  1605 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  1583         << messageIds
  1606         << messageIds
  1584         << QMessageIdList()
  1607         << QMessageIdList()
  1585 #else
  1608 #else
  1586         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1609         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1587         << ( QMessageIdList() << messageIds[0] )
  1610         << ( QMessageIdList() << messageIds[0] )
  1594         << messageIds
  1617         << messageIds
  1595         << "";
  1618         << "";
  1596 
  1619 
  1597     QTest::newRow("type inequality 1")
  1620     QTest::newRow("type inequality 1")
  1598         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::NotEqual) 
  1621         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::NotEqual) 
  1599 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
  1622 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  1600         << messageIds
  1623         << messageIds
  1601         << QMessageIdList()
  1624         << QMessageIdList()
  1602 #else
  1625 #else
  1603         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1626         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1604         << ( QMessageIdList() << messageIds[0] )
  1627         << ( QMessageIdList() << messageIds[0] )
  1605 #endif
  1628 #endif
  1606         << "";
  1629         << "";
  1607 
  1630 
  1608     QTest::newRow("type inequality 2")
  1631     QTest::newRow("type inequality 2")
  1609         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::NotEqual) 
  1632         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::NotEqual) 
  1610 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
  1633 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  1611         << QMessageIdList()
  1634         << QMessageIdList()
  1612         << messageIds
  1635         << messageIds
  1613 #else
  1636 #else
  1614         << ( QMessageIdList() << messageIds[0] )
  1637         << ( QMessageIdList() << messageIds[0] )
  1615         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1638         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1622         << QMessageIdList()
  1645         << QMessageIdList()
  1623         << "";
  1646         << "";
  1624 
  1647 
  1625     QTest::newRow("type mask inclusion 1")
  1648     QTest::newRow("type mask inclusion 1")
  1626         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Includes) 
  1649         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Includes) 
  1627 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
  1650 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  1628         << QMessageIdList()
  1651         << QMessageIdList()
  1629         << messageIds
  1652         << messageIds
  1630 #else
  1653 #else
  1631         << ( QMessageIdList() << messageIds[0] )
  1654         << ( QMessageIdList() << messageIds[0] )
  1632         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1655         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1633 #endif
  1656 #endif
  1634         << "";
  1657         << "";
  1635 
  1658 
  1636     QTest::newRow("type mask inclusion 2")
  1659     QTest::newRow("type mask inclusion 2")
  1637         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Includes) 
  1660         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Includes) 
  1638 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
  1661 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  1639         << messageIds
  1662         << messageIds
  1640         << QMessageIdList()
  1663         << QMessageIdList()
  1641 #else
  1664 #else
  1642         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1665         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1643         << ( QMessageIdList() << messageIds[0] )
  1666         << ( QMessageIdList() << messageIds[0] )
  1656         << messageIds
  1679         << messageIds
  1657         << "";
  1680         << "";
  1658 
  1681 
  1659     QTest::newRow("type mask exclusion 1")
  1682     QTest::newRow("type mask exclusion 1")
  1660         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Excludes) 
  1683         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Excludes) 
  1661 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
  1684 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  1662         << messageIds
  1685         << messageIds
  1663         << QMessageIdList()
  1686         << QMessageIdList()
  1664 #else
  1687 #else
  1665         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1688         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1666         << ( QMessageIdList() << messageIds[0] )
  1689         << ( QMessageIdList() << messageIds[0] )
  1667 #endif
  1690 #endif
  1668         << "";
  1691         << "";
  1669 
  1692 
  1670     QTest::newRow("type mask exclusion 2")
  1693     QTest::newRow("type mask exclusion 2")
  1671         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Excludes) 
  1694         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Excludes) 
  1672 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
  1695 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  1673         << QMessageIdList()
  1696         << QMessageIdList()
  1674         << messageIds
  1697         << messageIds
  1675 #else
  1698 #else
  1676         << ( QMessageIdList() << messageIds[0] )
  1699         << ( QMessageIdList() << messageIds[0] )
  1677         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1700         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1688         << QMessageFilter::byType(QMessage::NoType, QMessageDataComparator::Excludes) 
  1711         << QMessageFilter::byType(QMessage::NoType, QMessageDataComparator::Excludes) 
  1689         << messageIds
  1712         << messageIds
  1690         << QMessageIdList()
  1713         << QMessageIdList()
  1691         << "";
  1714         << "";
  1692 
  1715 
       
  1716 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1693     QTest::newRow("sender equality 1")
  1717     QTest::newRow("sender equality 1")
  1694         << QMessageFilter::bySender("Esteemed.Colleague@example.com", QMessageDataComparator::Equal) 
  1718         << QMessageFilter::bySender("Esteemed.Colleague@example.com", QMessageDataComparator::Equal) 
  1695         << ( QMessageIdList() << messageIds[1] )
  1719         << ( QMessageIdList() << messageIds[1] )
  1696         << ( QMessageIdList() << messageIds[0] << messageIds[2] << messageIds[3] << messageIds[4] )
  1720         << ( QMessageIdList() << messageIds[0] << messageIds[2] << messageIds[3] << messageIds[4] )
  1697         << "";
  1721         << "";
  1699     QTest::newRow("sender equality 2")
  1723     QTest::newRow("sender equality 2")
  1700         << QMessageFilter::bySender("sysadmin@example.com", QMessageDataComparator::Equal) 
  1724         << QMessageFilter::bySender("sysadmin@example.com", QMessageDataComparator::Equal) 
  1701         << ( QMessageIdList() << messageIds[3] )
  1725         << ( QMessageIdList() << messageIds[3] )
  1702         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[4] )
  1726         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[4] )
  1703         << "";
  1727         << "";
       
  1728 #endif
  1704 
  1729 
  1705     QTest::newRow("sender equality non-matching")
  1730     QTest::newRow("sender equality non-matching")
  1706         << QMessageFilter::bySender("Nonesuch", QMessageDataComparator::Equal) 
  1731         << QMessageFilter::bySender("Nonesuch", QMessageDataComparator::Equal) 
  1707         << QMessageIdList()
  1732         << QMessageIdList()
  1708         << messageIds
  1733         << messageIds
  1718         << QMessageFilter::bySender("", QMessageDataComparator::Equal) 
  1743         << QMessageFilter::bySender("", QMessageDataComparator::Equal) 
  1719         << QMessageIdList()
  1744         << QMessageIdList()
  1720         << messageIds
  1745         << messageIds
  1721         << "";
  1746         << "";
  1722 
  1747 
       
  1748 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1723     QTest::newRow("sender inequality 1")
  1749     QTest::newRow("sender inequality 1")
  1724         << QMessageFilter::bySender("Esteemed.Colleague@example.com", QMessageDataComparator::NotEqual) 
  1750         << QMessageFilter::bySender("Esteemed.Colleague@example.com", QMessageDataComparator::NotEqual) 
  1725         << ( QMessageIdList() << messageIds[0] << messageIds[2] << messageIds[3] << messageIds[4] )
  1751         << ( QMessageIdList() << messageIds[0] << messageIds[2] << messageIds[3] << messageIds[4] )
  1726         << ( QMessageIdList() << messageIds[1] )
  1752         << ( QMessageIdList() << messageIds[1] )
  1727         << "";
  1753         << "";
  1729     QTest::newRow("sender inequality 2")
  1755     QTest::newRow("sender inequality 2")
  1730         << QMessageFilter::bySender("sysadmin@example.com", QMessageDataComparator::NotEqual) 
  1756         << QMessageFilter::bySender("sysadmin@example.com", QMessageDataComparator::NotEqual) 
  1731         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[4] )
  1757         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[4] )
  1732         << ( QMessageIdList() << messageIds[3] )
  1758         << ( QMessageIdList() << messageIds[3] )
  1733         << "";
  1759         << "";
       
  1760 #endif
  1734 
  1761 
  1735     QTest::newRow("sender inequality non-matching")
  1762     QTest::newRow("sender inequality non-matching")
  1736         << QMessageFilter::bySender("Nonesuch", QMessageDataComparator::NotEqual) 
  1763         << QMessageFilter::bySender("Nonesuch", QMessageDataComparator::NotEqual) 
  1737         << messageIds
  1764         << messageIds
  1738         << QMessageIdList()
  1765         << QMessageIdList()
  1754         << QMessageFilter::bySender("example", QMessageDataComparator::Includes) 
  1781         << QMessageFilter::bySender("example", QMessageDataComparator::Includes) 
  1755         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1782         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1756         << ( QMessageIdList() << messageIds[0] )
  1783         << ( QMessageIdList() << messageIds[0] )
  1757         << "";
  1784         << "";
  1758 
  1785 
       
  1786 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1759     QTest::newRow("sender inclusion 2")
  1787     QTest::newRow("sender inclusion 2")
  1760         << QMessageFilter::bySender("ozone", QMessageDataComparator::Includes) 
  1788         << QMessageFilter::bySender("ozone", QMessageDataComparator::Includes) 
  1761         << ( QMessageIdList() << messageIds[0] )
  1789         << ( QMessageIdList() << messageIds[0] )
  1762         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1790         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1763         << "";
  1791         << "";
       
  1792 #endif
  1764 
  1793 
  1765     QTest::newRow("sender inclusion non-matching")
  1794     QTest::newRow("sender inclusion non-matching")
  1766         << QMessageFilter::bySender("Nonesuch", QMessageDataComparator::Includes) 
  1795         << QMessageFilter::bySender("Nonesuch", QMessageDataComparator::Includes) 
  1767         << QMessageIdList()
  1796         << QMessageIdList()
  1768         << messageIds
  1797         << messageIds
  1784         << QMessageFilter::bySender("example", QMessageDataComparator::Excludes) 
  1813         << QMessageFilter::bySender("example", QMessageDataComparator::Excludes) 
  1785         << ( QMessageIdList() << messageIds[0] )
  1814         << ( QMessageIdList() << messageIds[0] )
  1786         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1815         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1787         << "";
  1816         << "";
  1788 
  1817 
       
  1818 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1789     QTest::newRow("sender exclusion 2")
  1819     QTest::newRow("sender exclusion 2")
  1790         << QMessageFilter::bySender("ozone", QMessageDataComparator::Excludes) 
  1820         << QMessageFilter::bySender("ozone", QMessageDataComparator::Excludes) 
  1791         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1821         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1792         << ( QMessageIdList() << messageIds[0] )
  1822         << ( QMessageIdList() << messageIds[0] )
  1793         << "";
  1823         << "";
       
  1824 #endif
  1794 
  1825 
  1795     QTest::newRow("sender exclusion non-matching")
  1826     QTest::newRow("sender exclusion non-matching")
  1796         << QMessageFilter::bySender("Nonesuch", QMessageDataComparator::Excludes) 
  1827         << QMessageFilter::bySender("Nonesuch", QMessageDataComparator::Excludes) 
  1797         << messageIds
  1828         << messageIds
  1798         << QMessageIdList()
  1829         << QMessageIdList()
  1988         << QMessageFilter::bySubject("", QMessageDataComparator::Excludes) 
  2019         << QMessageFilter::bySubject("", QMessageDataComparator::Excludes) 
  1989         << QMessageIdList()
  2020         << QMessageIdList()
  1990         << messageIds
  2021         << messageIds
  1991         << "";
  2022         << "";
  1992 
  2023 
       
  2024 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1993     QTest::newRow("timeStamp equality 1")
  2025     QTest::newRow("timeStamp equality 1")
  1994         << QMessageFilter::byTimeStamp(QDateTime::fromString("1999-04-01T10:30:00Z", Qt::ISODate), QMessageDataComparator::Equal) 
  2026         << QMessageFilter::byTimeStamp(QDateTime::fromString("1999-04-01T10:30:00Z", Qt::ISODate), QMessageDataComparator::Equal) 
  1995         << ( QMessageIdList() << messageIds[4] )
  2027         << ( QMessageIdList() << messageIds[4] )
  1996         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  2028         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  1997         << "";
  2029         << "";
  2163     QTest::newRow("receptionTimeStamp greater than equal")
  2195     QTest::newRow("receptionTimeStamp greater than equal")
  2164         << QMessageFilter::byReceptionTimeStamp(epoch, QMessageDataComparator::GreaterThanEqual) 
  2196         << QMessageFilter::byReceptionTimeStamp(epoch, QMessageDataComparator::GreaterThanEqual) 
  2165         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  2197         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  2166         << ( QMessageIdList() << messageIds[4] )
  2198         << ( QMessageIdList() << messageIds[4] )
  2167         << "";
  2199         << "";
  2168 
  2200 #endif
       
  2201 
       
  2202 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2169     QTest::newRow("status equality 1")
  2203     QTest::newRow("status equality 1")
  2170         << QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Equal) 
  2204         << QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Equal) 
  2171         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  2205         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  2172         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  2206         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  2173         << "";
  2207         << "";
  2283     QTest::newRow("priority inequality 3")
  2317     QTest::newRow("priority inequality 3")
  2284         << QMessageFilter::byPriority(QMessage::NormalPriority, QMessageDataComparator::NotEqual) 
  2318         << QMessageFilter::byPriority(QMessage::NormalPriority, QMessageDataComparator::NotEqual) 
  2285         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] )
  2319         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] )
  2286         << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  2320         << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  2287         << "";
  2321         << "";
       
  2322 #endif
  2288 
  2323 
  2289     QTest::newRow("size equality 1")
  2324     QTest::newRow("size equality 1")
  2290         << QMessageFilter::bySize(messageSizes[3], QMessageDataComparator::Equal) 
  2325         << QMessageFilter::bySize(messageSizes[3], QMessageDataComparator::Equal) 
  2291         << ( QMessageIdList() << messageIds[3] )
  2326         << ( QMessageIdList() << messageIds[3] )
  2292         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[4] )
  2327         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[4] )
  2389         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  2424         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  2390         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  2425         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  2391 #endif
  2426 #endif
  2392         << "";
  2427         << "";
  2393 
  2428 
       
  2429 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2394     QTest::newRow("parentAccountId equality 1")
  2430     QTest::newRow("parentAccountId equality 1")
  2395         << QMessageFilter::byParentAccountId(accountIds[0], QMessageDataComparator::Equal) 
  2431         << QMessageFilter::byParentAccountId(accountIds[0], QMessageDataComparator::Equal) 
  2396         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2432         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2397         << ( QMessageIdList() << messageIds[0] )
  2433         << ( QMessageIdList() << messageIds[0] )
  2398         << "";
  2434         << "";
  2400     QTest::newRow("parentAccountId equality 2")
  2436     QTest::newRow("parentAccountId equality 2")
  2401         << QMessageFilter::byParentAccountId(accountIds[2], QMessageDataComparator::Equal) 
  2437         << QMessageFilter::byParentAccountId(accountIds[2], QMessageDataComparator::Equal) 
  2402         << ( QMessageIdList() << messageIds[0] )
  2438         << ( QMessageIdList() << messageIds[0] )
  2403         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2439         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2404         << "";
  2440         << "";
       
  2441 #endif
  2405 
  2442 
  2406     QTest::newRow("parentAccountId equality invalid")
  2443     QTest::newRow("parentAccountId equality invalid")
  2407         << QMessageFilter::byParentAccountId(QMessageAccountId(), QMessageDataComparator::Equal) 
  2444         << QMessageFilter::byParentAccountId(QMessageAccountId(), QMessageDataComparator::Equal) 
  2408         << QMessageIdList()
  2445         << QMessageIdList()
  2409         << messageIds
  2446         << messageIds
  2410         << "";
  2447         << "";
  2411 
  2448 
       
  2449 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2412     QTest::newRow("parentAccountId inequality 1")
  2450     QTest::newRow("parentAccountId inequality 1")
  2413         << QMessageFilter::byParentAccountId(accountIds[0], QMessageDataComparator::NotEqual) 
  2451         << QMessageFilter::byParentAccountId(accountIds[0], QMessageDataComparator::NotEqual) 
  2414         << ( QMessageIdList() << messageIds[0] )
  2452         << ( QMessageIdList() << messageIds[0] )
  2415         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2453         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2416         << "";
  2454         << "";
  2418     QTest::newRow("parentAccountId inequality 2")
  2456     QTest::newRow("parentAccountId inequality 2")
  2419         << QMessageFilter::byParentAccountId(accountIds[2], QMessageDataComparator::NotEqual) 
  2457         << QMessageFilter::byParentAccountId(accountIds[2], QMessageDataComparator::NotEqual) 
  2420         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2458         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2421         << ( QMessageIdList() << messageIds[0] )
  2459         << ( QMessageIdList() << messageIds[0] )
  2422         << "";
  2460         << "";
       
  2461 #endif
  2423 
  2462 
  2424     QTest::newRow("parentAccountId inequality invalid")
  2463     QTest::newRow("parentAccountId inequality invalid")
  2425         << QMessageFilter::byParentAccountId(QMessageAccountId(), QMessageDataComparator::NotEqual) 
  2464         << QMessageFilter::byParentAccountId(QMessageAccountId(), QMessageDataComparator::NotEqual) 
  2426         << messageIds
  2465         << messageIds
  2427         << QMessageIdList()
  2466         << QMessageIdList()
  2428         << "";
  2467         << "";
  2429 
  2468 
       
  2469 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2430     QTest::newRow("parentAccountId filter inclusion 1")
  2470     QTest::newRow("parentAccountId filter inclusion 1")
  2431         << QMessageFilter::byParentAccountId(QMessageAccountFilter::byName("Alter Ego", QMessageDataComparator::Equal), QMessageDataComparator::Includes) 
  2471         << QMessageFilter::byParentAccountId(QMessageAccountFilter::byName("Alter Ego", QMessageDataComparator::Equal), QMessageDataComparator::Includes) 
  2432         << ( QMessageIdList() << messageIds[0] )
  2472         << ( QMessageIdList() << messageIds[0] )
  2433         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2473         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2434         << "";
  2474         << "";
  2484     QTest::newRow("parentAccountId filter exclusion non-matching")
  2524     QTest::newRow("parentAccountId filter exclusion non-matching")
  2485         << QMessageFilter::byParentAccountId(QMessageAccountFilter::byName("NoneSuch"), QMessageDataComparator::Excludes) 
  2525         << QMessageFilter::byParentAccountId(QMessageAccountFilter::byName("NoneSuch"), QMessageDataComparator::Excludes) 
  2486         << messageIds
  2526         << messageIds
  2487         << QMessageIdList()
  2527         << QMessageIdList()
  2488         << "";
  2528         << "";
  2489 
  2529 #endif
       
  2530 
       
  2531 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2490     QTest::newRow("standardFolder equality 1")
  2532     QTest::newRow("standardFolder equality 1")
  2491         << QMessageFilter::byStandardFolder(QMessage::InboxFolder, QMessageDataComparator::Equal)
  2533         << QMessageFilter::byStandardFolder(QMessage::InboxFolder, QMessageDataComparator::Equal)
  2492 #ifndef Q_OS_SYMBIAN    
  2534 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2493         << messageIds
  2535         << messageIds
  2494         << ( QMessageIdList() )
  2536         << ( QMessageIdList() )
  2495 #else // Created folders are not mapped to any Standard Folder in Symbian 
  2537 #else // Created folders are not mapped to any Standard Folder in Symbian/Maemo
  2496       // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  2538       // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  2497         << ( QMessageIdList() )
  2539         << ( QMessageIdList() )
  2498         << ( QMessageIdList() )
  2540         << ( QMessageIdList() )
  2499 #endif        
  2541 #endif        
  2500         << "";
  2542         << "";
  2501 
  2543 
  2502     QTest::newRow("standardFolder equality 2")
  2544     QTest::newRow("standardFolder equality 2")
  2503         << QMessageFilter::byStandardFolder(QMessage::TrashFolder, QMessageDataComparator::Equal) 
  2545         << QMessageFilter::byStandardFolder(QMessage::TrashFolder, QMessageDataComparator::Equal) 
  2504 #ifndef Q_OS_SYMBIAN    
  2546 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2505         << ( QMessageIdList() )
  2547         << ( QMessageIdList() )
  2506         << messageIds
  2548         << messageIds
  2507 #else // Created folders are not mapped to any Standard Folder in Symbian 
  2549 #else // Created folders are not mapped to any Standard Folder in Symbian/Maemo
  2508       // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  2550       // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  2509         << ( QMessageIdList() )
  2551         << ( QMessageIdList() )
  2510         << ( QMessageIdList() )
  2552         << ( QMessageIdList() )
  2511 #endif        
  2553 #endif        
  2512         << "";
  2554         << "";
  2513 
  2555 
  2514     QTest::newRow("standardFolder inequality 1")
  2556     QTest::newRow("standardFolder inequality 1")
  2515         << QMessageFilter::byStandardFolder(QMessage::InboxFolder, QMessageDataComparator::NotEqual) 
  2557         << QMessageFilter::byStandardFolder(QMessage::InboxFolder, QMessageDataComparator::NotEqual) 
  2516 #ifndef Q_OS_SYMBIAN    
  2558 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2517         << ( QMessageIdList() )
  2559         << ( QMessageIdList() )
  2518         << messageIds
  2560         << messageIds
  2519 #else // Created folders are not mapped to any Standard Folder in Symbian 
  2561 #else // Created folders are not mapped to any Standard Folder in Symbian/Maemo
  2520       // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  2562       // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  2521         << ( QMessageIdList() )
  2563         << ( QMessageIdList() )
  2522         << ( QMessageIdList() )
  2564         << ( QMessageIdList() )
  2523 #endif        
  2565 #endif        
  2524         << "";
  2566         << "";
  2525 
  2567 
  2526     QTest::newRow("standardFolder inequality 2")
  2568     QTest::newRow("standardFolder inequality 2")
  2527         << QMessageFilter::byStandardFolder(QMessage::TrashFolder, QMessageDataComparator::NotEqual) 
  2569         << QMessageFilter::byStandardFolder(QMessage::TrashFolder, QMessageDataComparator::NotEqual) 
  2528 #ifndef Q_OS_SYMBIAN    
  2570 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2529         << messageIds
  2571         << messageIds
  2530         << ( QMessageIdList() )
  2572         << ( QMessageIdList() )
  2531 #else // Created folders are not mapped to any Standard Folder in Symbian 
  2573 #else // Created folders are not mapped to any Standard Folder in Symbian/Maemo
  2532       // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  2574       // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  2533         << ( QMessageIdList() )
  2575         << ( QMessageIdList() )
  2534         << ( QMessageIdList() )
  2576         << ( QMessageIdList() )
  2535 #endif        
  2577 #endif        
  2536         << "";
  2578         << "";
       
  2579 #endif
  2537 
  2580 
  2538     QTest::newRow("parentFolderId equality 1")
  2581     QTest::newRow("parentFolderId equality 1")
  2539         << QMessageFilter::byParentFolderId(folderIds[0], QMessageDataComparator::Equal) 
  2582         << QMessageFilter::byParentFolderId(folderIds[0], QMessageDataComparator::Equal) 
  2540         << ( QMessageIdList() << messageIds[0] )
  2583         << ( QMessageIdList() << messageIds[0] )
  2541         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2584         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2569         << QMessageFilter::byParentFolderId(QMessageFolderId(), QMessageDataComparator::NotEqual) 
  2612         << QMessageFilter::byParentFolderId(QMessageFolderId(), QMessageDataComparator::NotEqual) 
  2570         << messageIds
  2613         << messageIds
  2571         << QMessageIdList()
  2614         << QMessageIdList()
  2572         << "";
  2615         << "";
  2573 
  2616 
       
  2617 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)    
  2574     QTest::newRow("parentFolderId filter inclusion 1")
  2618     QTest::newRow("parentFolderId filter inclusion 1")
  2575         << QMessageFilter::byParentFolderId(QMessageFolderFilter::byPath("My messages", QMessageDataComparator::Equal), QMessageDataComparator::Includes)
  2619         << QMessageFilter::byParentFolderId(QMessageFolderFilter::byPath("My messages", QMessageDataComparator::Equal), QMessageDataComparator::Includes)
  2576         << ( QMessageIdList() << messageIds[0] )
  2620         << ( QMessageIdList() << messageIds[0] )
  2577         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2621         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2578         << "";
  2622         << "";
  2638     QTest::newRow("parentFolderId filter exclusion non-matching")
  2682     QTest::newRow("parentFolderId filter exclusion non-matching")
  2639         << QMessageFilter::byParentFolderId(QMessageFolderFilter::byPath("NoneSuch"), QMessageDataComparator::Excludes) 
  2683         << QMessageFilter::byParentFolderId(QMessageFolderFilter::byPath("NoneSuch"), QMessageDataComparator::Excludes) 
  2640         << messageIds
  2684         << messageIds
  2641         << QMessageIdList()
  2685         << QMessageIdList()
  2642         << "";
  2686         << "";
  2643 
  2687 #endif
  2644 #ifndef Q_OS_SYMBIAN
  2688 
       
  2689 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2645     QTest::newRow("ancestorFolderIds inclusion 1")
  2690     QTest::newRow("ancestorFolderIds inclusion 1")
  2646         << QMessageFilter::byAncestorFolderIds(folderIds[1], QMessageDataComparator::Includes)
  2691         << QMessageFilter::byAncestorFolderIds(folderIds[1], QMessageDataComparator::Includes)
  2647         << ( QMessageIdList() << messageIds[3] << messageIds[4] )
  2692         << ( QMessageIdList() << messageIds[3] << messageIds[4] )
  2648         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] )
  2693         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] )
  2649         << "";
  2694         << "";
  2737         << messageIds
  2782         << messageIds
  2738         << QMessageIdList()
  2783         << QMessageIdList()
  2739         << "";
  2784         << "";
  2740 #endif    
  2785 #endif    
  2741 
  2786 
       
  2787 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2742     // Test some basic combinations
  2788     // Test some basic combinations
  2743     QTest::newRow("status mask inclusion AND timeStamp greater than")
  2789     QTest::newRow("status mask inclusion AND timeStamp greater than")
  2744         << ( QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Includes) &
  2790         << ( QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Includes) &
  2745              QMessageFilter::byTimeStamp(epoch, QMessageDataComparator::GreaterThan) )
  2791              QMessageFilter::byTimeStamp(epoch, QMessageDataComparator::GreaterThan) )
  2746         << ( QMessageIdList() << messageIds[3] )
  2792         << ( QMessageIdList() << messageIds[3] )
  2766         << ( QMessageFilter::bySender("Boss", QMessageDataComparator::Includes) &
  2812         << ( QMessageFilter::bySender("Boss", QMessageDataComparator::Includes) &
  2767              QMessageFilter::byTimeStamp(epoch, QMessageDataComparator::GreaterThan) )
  2813              QMessageFilter::byTimeStamp(epoch, QMessageDataComparator::GreaterThan) )
  2768         << ( QMessageIdList() << messageIds[2] )
  2814         << ( QMessageIdList() << messageIds[2] )
  2769         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[3] << messageIds[4] )
  2815         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[3] << messageIds[4] )
  2770         << "";
  2816         << "";
       
  2817 #endif
  2771 
  2818 
  2772     QTest::newRow("subject inclusion OR subject exclusion")
  2819     QTest::newRow("subject inclusion OR subject exclusion")
  2773         << ( QMessageFilter::bySubject("agenda", QMessageDataComparator::Includes) |
  2820         << ( QMessageFilter::bySubject("agenda", QMessageDataComparator::Includes) |
  2774              QMessageFilter::bySubject("ee", QMessageDataComparator::Excludes) )
  2821              QMessageFilter::bySubject("ee", QMessageDataComparator::Excludes) )
  2775         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] )
  2822         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] )
  2776         << ( QMessageIdList() << messageIds[0] << messageIds[4] )
  2823         << ( QMessageIdList() << messageIds[0] << messageIds[4] )
  2777         << "";
  2824         << "";
  2778 
  2825 
       
  2826 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2779     QMessageFilter andEquals(QMessageFilter::bySender("Boss", QMessageDataComparator::Includes));
  2827     QMessageFilter andEquals(QMessageFilter::bySender("Boss", QMessageDataComparator::Includes));
  2780     andEquals &= QMessageFilter::byTimeStamp(epoch, QMessageDataComparator::GreaterThan);
  2828     andEquals &= QMessageFilter::byTimeStamp(epoch, QMessageDataComparator::GreaterThan);
  2781     QTest::newRow("QMessageFilter::operator&=")
  2829     QTest::newRow("QMessageFilter::operator&=")
  2782         << andEquals
  2830         << andEquals
  2783         << ( QMessageIdList() << messageIds[2] )
  2831         << ( QMessageIdList() << messageIds[2] )
  2784         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[3] << messageIds[4] )
  2832         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[3] << messageIds[4] )
  2785         << "";
  2833         << "";
       
  2834 #endif
  2786 
  2835 
  2787     QMessageFilter orEquals(QMessageFilter::bySubject("agenda", QMessageDataComparator::Includes));
  2836     QMessageFilter orEquals(QMessageFilter::bySubject("agenda", QMessageDataComparator::Includes));
  2788     orEquals |= QMessageFilter::bySubject("ee", QMessageDataComparator::Excludes);
  2837     orEquals |= QMessageFilter::bySubject("ee", QMessageDataComparator::Excludes);
  2789     QTest::newRow("QMessageFilter::operator|=")
  2838     QTest::newRow("QMessageFilter::operator|=")
  2790         << orEquals
  2839         << orEquals
  2791         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] )
  2840         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] )
  2792         << ( QMessageIdList() << messageIds[0] << messageIds[4] )
  2841         << ( QMessageIdList() << messageIds[0] << messageIds[4] )
  2793         << "";
  2842         << "";
  2794 
  2843 
       
  2844 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2795     QTest::newRow("body")
  2845     QTest::newRow("body")
  2796         << QMessageFilter()
  2846         << QMessageFilter()
  2797         << ( QMessageIdList() << messageIds[0] << messageIds[2] )
  2847         << ( QMessageIdList() << messageIds[0] << messageIds[2] )
  2798         << QMessageIdList() // contains body but does not match filter
  2848         << QMessageIdList() // contains body but does not match filter
  2799         << "summer";
  2849         << "summer";
  2801     QTest::newRow("body and subject")
  2851     QTest::newRow("body and subject")
  2802         << QMessageFilter::bySubject("message", QMessageDataComparator::Includes)
  2852         << QMessageFilter::bySubject("message", QMessageDataComparator::Includes)
  2803         << ( QMessageIdList() << messageIds[2] )
  2853         << ( QMessageIdList() << messageIds[2] )
  2804         << ( QMessageIdList() << messageIds[0] ) // contains body but does not match filter
  2854         << ( QMessageIdList() << messageIds[0] ) // contains body but does not match filter
  2805         << "summer";
  2855         << "summer";
       
  2856 #endif
  2806 
  2857 
  2807     // Test matchFlags
  2858     // Test matchFlags
  2808     QMessageFilter caseInsensitive1(QMessageFilter::bySubject("free beer", QMessageDataComparator::Equal));
  2859     QMessageFilter caseInsensitive1(QMessageFilter::bySubject("free beer", QMessageDataComparator::Equal));
  2809     QTest::newRow("matchFlags:caseInsensitive 1")
  2860     QTest::newRow("matchFlags:caseInsensitive 1")
  2810         << caseInsensitive1
  2861         << caseInsensitive1
  2858     QTest::addColumn<MessageSortList>("sorts");
  2909     QTest::addColumn<MessageSortList>("sorts");
  2859     QTest::addColumn<MessageListList>("ids");
  2910     QTest::addColumn<MessageListList>("ids");
  2860 
  2911 
  2861     QTest::newRow("type ascending")
  2912     QTest::newRow("type ascending")
  2862         << ( MessageSortList() << QMessageSortOrder::byType(Qt::AscendingOrder) )
  2913         << ( MessageSortList() << QMessageSortOrder::byType(Qt::AscendingOrder) )
  2863 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
  2914 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  2864         << ( MessageListList() << messageIds ); // All messages are Email type
  2915         << ( MessageListList() << messageIds ); // All messages are Email type
  2865 #else
  2916 #else
  2866         << ( MessageListList() << ( QMessageIdList() << messageIds[0] )
  2917         << ( MessageListList() << ( QMessageIdList() << messageIds[0] )
  2867                                << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] ) );
  2918                                << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] ) );
  2868 #endif
  2919 #endif
  2869 
  2920 
  2870     QTest::newRow("type descending")
  2921     QTest::newRow("type descending")
  2871         << ( MessageSortList() << QMessageSortOrder::byType(Qt::DescendingOrder) )
  2922         << ( MessageSortList() << QMessageSortOrder::byType(Qt::DescendingOrder) )
  2872 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
  2923 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  2873         << ( MessageListList() << messageIds ); // All messages are Email type
  2924         << ( MessageListList() << messageIds ); // All messages are Email type
  2874 #else
  2925 #else
  2875         << ( MessageListList() << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2926         << ( MessageListList() << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  2876                                << ( QMessageIdList() << messageIds[0] ) );
  2927                                << ( QMessageIdList() << messageIds[0] ) );
  2877 #endif
  2928 #endif
  2878 
  2929 
       
  2930 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2879     QTest::newRow("sender ascending")
  2931     QTest::newRow("sender ascending")
  2880         << ( MessageSortList() << QMessageSortOrder::bySender(Qt::AscendingOrder) )
  2932         << ( MessageSortList() << QMessageSortOrder::bySender(Qt::AscendingOrder) )
  2881         << ( MessageListList() << ( QMessageIdList() << messageIds[2] << messageIds[4] )
  2933         << ( MessageListList() << ( QMessageIdList() << messageIds[2] << messageIds[4] )
  2882                                << ( QMessageIdList() << messageIds[1] )
  2934                                << ( QMessageIdList() << messageIds[1] )
  2883                                << ( QMessageIdList() << messageIds[0] )
  2935                                << ( QMessageIdList() << messageIds[0] )
  2887         << ( MessageSortList() << QMessageSortOrder::bySender(Qt::DescendingOrder) )
  2939         << ( MessageSortList() << QMessageSortOrder::bySender(Qt::DescendingOrder) )
  2888         << ( MessageListList() << ( QMessageIdList() << messageIds[3] )
  2940         << ( MessageListList() << ( QMessageIdList() << messageIds[3] )
  2889                                << ( QMessageIdList() << messageIds[0] )
  2941                                << ( QMessageIdList() << messageIds[0] )
  2890                                << ( QMessageIdList() << messageIds[1] )
  2942                                << ( QMessageIdList() << messageIds[1] )
  2891                                << ( QMessageIdList() << messageIds[2] << messageIds[4] ) );
  2943                                << ( QMessageIdList() << messageIds[2] << messageIds[4] ) );
       
  2944 #endif
  2892 
  2945 
  2893     QTest::newRow("recipients ascending")
  2946     QTest::newRow("recipients ascending")
  2894         << ( MessageSortList() << QMessageSortOrder::byRecipients(Qt::AscendingOrder) )
  2947         << ( MessageSortList() << QMessageSortOrder::byRecipients(Qt::AscendingOrder) )
  2895         << ( MessageListList() << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  2948         << ( MessageListList() << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  2896                                << ( QMessageIdList() << messageIds[0] )
  2949                                << ( QMessageIdList() << messageIds[0] )
  2916                                << ( QMessageIdList() << messageIds[2] )
  2969                                << ( QMessageIdList() << messageIds[2] )
  2917                                << ( QMessageIdList() << messageIds[1] )
  2970                                << ( QMessageIdList() << messageIds[1] )
  2918                                << ( QMessageIdList() << messageIds[0] )
  2971                                << ( QMessageIdList() << messageIds[0] )
  2919                                << ( QMessageIdList() << messageIds[4] ) );
  2972                                << ( QMessageIdList() << messageIds[4] ) );
  2920 
  2973 
       
  2974 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  2921     QTest::newRow("timeStamp ascending")
  2975     QTest::newRow("timeStamp ascending")
  2922         << ( MessageSortList() << QMessageSortOrder::byTimeStamp(Qt::AscendingOrder) )
  2976         << ( MessageSortList() << QMessageSortOrder::byTimeStamp(Qt::AscendingOrder) )
  2923         << ( MessageListList() << ( QMessageIdList() << messageIds[4] )
  2977         << ( MessageListList() << ( QMessageIdList() << messageIds[4] )
  2924                                << ( QMessageIdList() << messageIds[0] << messageIds[1] )
  2978                                << ( QMessageIdList() << messageIds[0] << messageIds[1] )
  2925                                << ( QMessageIdList() << messageIds[2] << messageIds[3] ) );
  2979                                << ( QMessageIdList() << messageIds[2] << messageIds[3] ) );
  2944         << ( MessageListList() << ( QMessageIdList() << messageIds[1] )
  2998         << ( MessageListList() << ( QMessageIdList() << messageIds[1] )
  2945                                << ( QMessageIdList() << messageIds[2] )
  2999                                << ( QMessageIdList() << messageIds[2] )
  2946                                << ( QMessageIdList() << messageIds[3] )
  3000                                << ( QMessageIdList() << messageIds[3] )
  2947                                << ( QMessageIdList() << messageIds[0] )
  3001                                << ( QMessageIdList() << messageIds[0] )
  2948                                << ( QMessageIdList() << messageIds[4] ) );
  3002                                << ( QMessageIdList() << messageIds[4] ) );
  2949 #endif    
  3003 #endif
  2950 
  3004 
  2951     QTest::newRow("priority ascending")
  3005     QTest::newRow("priority ascending")
  2952         << ( MessageSortList() << QMessageSortOrder::byPriority(Qt::AscendingOrder) )
  3006         << ( MessageSortList() << QMessageSortOrder::byPriority(Qt::AscendingOrder) )
  2953         << ( MessageListList() << ( QMessageIdList() << messageIds[4] )
  3007         << ( MessageListList() << ( QMessageIdList() << messageIds[4] )
  2954                                << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  3008                                << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  2957     QTest::newRow("priority descending")
  3011     QTest::newRow("priority descending")
  2958         << ( MessageSortList() << QMessageSortOrder::byPriority(Qt::DescendingOrder) )
  3012         << ( MessageSortList() << QMessageSortOrder::byPriority(Qt::DescendingOrder) )
  2959         << ( MessageListList() << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  3013         << ( MessageListList() << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  2960                                << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  3014                                << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  2961                                << ( QMessageIdList() << messageIds[4] ) );
  3015                                << ( QMessageIdList() << messageIds[4] ) );
       
  3016 #endif
  2962 
  3017 
  2963     QTest::newRow("size ascending")
  3018     QTest::newRow("size ascending")
  2964         << ( MessageSortList() << QMessageSortOrder::bySize(Qt::AscendingOrder) )
  3019         << ( MessageSortList() << QMessageSortOrder::bySize(Qt::AscendingOrder) )
  2965 #if defined(Q_OS_SYMBIAN)
  3020 #if (defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  2966         << ( MessageListList() << ( QMessageIdList() << messageIds[3] )
  3021         << ( MessageListList() << ( QMessageIdList() << messageIds[3] )
  2967                                << ( QMessageIdList() << messageIds[0] )
  3022                                << ( QMessageIdList() << messageIds[0] )
  2968                                << ( QMessageIdList() << messageIds[4] )
  3023                                << ( QMessageIdList() << messageIds[4] )
  2969                                << ( QMessageIdList() << messageIds[1] )
  3024                                << ( QMessageIdList() << messageIds[1] )
  2970 #else    
  3025 #else    
  2981                                << ( QMessageIdList() << messageIds[2] ) );
  3036                                << ( QMessageIdList() << messageIds[2] ) );
  2982 
  3037 
  2983     QTest::newRow("size descending")
  3038     QTest::newRow("size descending")
  2984         << ( MessageSortList() << QMessageSortOrder::bySize(Qt::DescendingOrder) )
  3039         << ( MessageSortList() << QMessageSortOrder::bySize(Qt::DescendingOrder) )
  2985         << ( MessageListList() << ( QMessageIdList() << messageIds[2] )
  3040         << ( MessageListList() << ( QMessageIdList() << messageIds[2] )
  2986 #if defined(Q_OS_SYMBIAN)
  3041 #if (defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  2987                                << ( QMessageIdList() << messageIds[1] )
  3042                                << ( QMessageIdList() << messageIds[1] )
  2988                                << ( QMessageIdList() << messageIds[4] )
  3043                                << ( QMessageIdList() << messageIds[4] )
  2989                                << ( QMessageIdList() << messageIds[0] )
  3044                                << ( QMessageIdList() << messageIds[0] )
  2990                                << ( QMessageIdList() << messageIds[3] ) );
  3045                                << ( QMessageIdList() << messageIds[3] ) );
  2991 #else    
  3046 #else    
  2998                                << ( QMessageIdList() << messageIds[3] )
  3053                                << ( QMessageIdList() << messageIds[3] )
  2999 #endif
  3054 #endif
  3000                                << ( QMessageIdList() << messageIds[0] ) );
  3055                                << ( QMessageIdList() << messageIds[0] ) );
  3001 #endif        
  3056 #endif        
  3002 
  3057 
       
  3058 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  3003     QTest::newRow("status:HasAttachments ascending")
  3059     QTest::newRow("status:HasAttachments ascending")
  3004         << ( MessageSortList() << QMessageSortOrder::byStatus(QMessage::HasAttachments, Qt::AscendingOrder) )
  3060         << ( MessageSortList() << QMessageSortOrder::byStatus(QMessage::HasAttachments, Qt::AscendingOrder) )
  3005         << ( MessageListList() << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  3061         << ( MessageListList() << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  3006                                << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] ) );
  3062                                << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] ) );
       
  3063 #endif
  3007 
  3064 
  3008     QTest::newRow("status:HasAttachments descending")
  3065     QTest::newRow("status:HasAttachments descending")
  3009         << ( MessageSortList() << QMessageSortOrder::byStatus(QMessage::HasAttachments, Qt::DescendingOrder) )
  3066         << ( MessageSortList() << QMessageSortOrder::byStatus(QMessage::HasAttachments, Qt::DescendingOrder) )
  3010         << ( MessageListList() << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] )
  3067         << ( MessageListList() << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] )
  3011                                << ( QMessageIdList() << messageIds[0] << messageIds[3] ) );
  3068                                << ( QMessageIdList() << messageIds[0] << messageIds[3] ) );
  3012 
  3069 
       
  3070 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  3013     QTest::newRow("status:Read ascending")
  3071     QTest::newRow("status:Read ascending")
  3014         << ( MessageSortList() << QMessageSortOrder::byStatus(QMessage::Read, Qt::AscendingOrder) )
  3072         << ( MessageSortList() << QMessageSortOrder::byStatus(QMessage::Read, Qt::AscendingOrder) )
  3015         << ( MessageListList() << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  3073         << ( MessageListList() << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  3016                                << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] ) );
  3074                                << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] ) );
  3017 
  3075 
  3018     QTest::newRow("status:Read descending")
  3076     QTest::newRow("status:Read descending")
  3019         << ( MessageSortList() << QMessageSortOrder::byStatus(QMessage::Read, Qt::DescendingOrder) )
  3077         << ( MessageSortList() << QMessageSortOrder::byStatus(QMessage::Read, Qt::DescendingOrder) )
  3020         << ( MessageListList() << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  3078         << ( MessageListList() << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  3021                                << ( QMessageIdList() << messageIds[1] << messageIds[2] ) );
  3079                                << ( QMessageIdList() << messageIds[1] << messageIds[2] ) );
  3022 
  3080 #endif
       
  3081 
       
  3082 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  3023     // On Windows, the following tests do not vary by type (which is always Email)
  3083     // On Windows, the following tests do not vary by type (which is always Email)
  3024     QTest::newRow("type ascending, priority ascending, size ascending")
  3084     QTest::newRow("type ascending, priority ascending, size ascending")
  3025         << ( MessageSortList() << QMessageSortOrder::byType(Qt::AscendingOrder)
  3085         << ( MessageSortList() << QMessageSortOrder::byType(Qt::AscendingOrder)
  3026                                << QMessageSortOrder::byPriority(Qt::AscendingOrder)
  3086                                << QMessageSortOrder::byPriority(Qt::AscendingOrder)
  3027                                << QMessageSortOrder::bySize(Qt::AscendingOrder) )
  3087                                << QMessageSortOrder::bySize(Qt::AscendingOrder) )
  3129         << ( MessageListList() << ( QMessageIdList() << messageIds[2] )
  3189         << ( MessageListList() << ( QMessageIdList() << messageIds[2] )
  3130                                << ( QMessageIdList() << messageIds[1] )
  3190                                << ( QMessageIdList() << messageIds[1] )
  3131                                << ( QMessageIdList() << messageIds[3] )
  3191                                << ( QMessageIdList() << messageIds[3] )
  3132                                << ( QMessageIdList() << messageIds[0] )
  3192                                << ( QMessageIdList() << messageIds[0] )
  3133                                << ( QMessageIdList() << messageIds[4] ) );
  3193                                << ( QMessageIdList() << messageIds[4] ) );
  3134 #elif defined(Q_OS_SYMBIAN)
  3194 #elif (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
  3135         << ( MessageListList() << ( QMessageIdList() << messageIds[2] )
  3195         << ( MessageListList() << ( QMessageIdList() << messageIds[2] )
  3136                                << ( QMessageIdList() << messageIds[1] )
  3196                                << ( QMessageIdList() << messageIds[1] )
  3137                                << ( QMessageIdList() << messageIds[0] )
  3197                                << ( QMessageIdList() << messageIds[0] )
  3138                                << ( QMessageIdList() << messageIds[3] )
  3198                                << ( QMessageIdList() << messageIds[3] )
  3139                                << ( QMessageIdList() << messageIds[4] ) );
  3199                                << ( QMessageIdList() << messageIds[4] ) );
  3183         << ( MessageListList() << ( QMessageIdList() << messageIds[2] )
  3243         << ( MessageListList() << ( QMessageIdList() << messageIds[2] )
  3184                                << ( QMessageIdList() << messageIds[1] )
  3244                                << ( QMessageIdList() << messageIds[1] )
  3185                                << ( QMessageIdList() << messageIds[3] )
  3245                                << ( QMessageIdList() << messageIds[3] )
  3186                                << ( QMessageIdList() << messageIds[4] )
  3246                                << ( QMessageIdList() << messageIds[4] )
  3187                                << ( QMessageIdList() << messageIds[0] ) );
  3247                                << ( QMessageIdList() << messageIds[0] ) );
       
  3248 #endif
  3188 #endif
  3249 #endif
  3189 }
  3250 }
  3190 
  3251 
  3191 void tst_QMessageStoreKeys::testMessageOrdering()
  3252 void tst_QMessageStoreKeys::testMessageOrdering()
  3192 {
  3253 {