qtmobility/tests/auto/qmessageservice/tst_qmessageservice.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
   287         ("parentFolderPath", "")
   287         ("parentFolderPath", "")
   288         << Params()("parentAccountName", "Work")
   288         << Params()("parentAccountName", "Work")
   289         ("path", "Innbox")
   289         ("path", "Innbox")
   290         ("name", "Innbox")
   290         ("name", "Innbox")
   291         ("parentFolderPath", "")
   291         ("parentFolderPath", "")
   292 #ifndef Q_OS_SYMBIAN
   292 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   293         << Params()("parentAccountName", "Work")
   293         << Params()("parentAccountName", "Work")
   294         ("path", "Innbox/X-Announce")
   294         ("path", "Innbox/X-Announce")
   295         ("name", "X-Announce")
   295         ("name", "X-Announce")
   296         ("parentFolderPath", "Innbox")
   296         ("parentFolderPath", "Innbox")
   297         << Params()("parentAccountName", "Work")
   297         << Params()("parentAccountName", "Work")
   320     const char *attachmentPaths = TESTDATA_DIR "/testdata/1.txt";
   320     const char *attachmentPaths = TESTDATA_DIR "/testdata/1.txt";
   321 
   321 
   322     QList<Support::Parameters> messageParams;
   322     QList<Support::Parameters> messageParams;
   323     messageParams << Params()("parentAccountName", "Alter Ego")
   323     messageParams << Params()("parentAccountName", "Alter Ego")
   324         ("parentFolderPath", "My messages")
   324         ("parentFolderPath", "My messages")
   325 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN)) // SMS messages must be in SMS store on Windows and on Symbian
   325 #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
   326         ("type", "email")
   326         ("type", "email")
   327 #else
   327 #else
   328         ("type", "sms")
   328         ("type", "sms")
   329 #endif
   329 #endif
   330         ("to", "SuperMegaLightningBabe")
   330         ("to", "SuperMegaLightningBabe")
   363         ("priority", "High")
   363         ("priority", "High")
   364         ("size", "20480")
   364         ("size", "20480")
   365         ("status-hasAttachments", "true")
   365         ("status-hasAttachments", "true")
   366         ("attachments", attachmentPaths)
   366         ("attachments", attachmentPaths)
   367         ("custom-spam", "filter:no")
   367         ("custom-spam", "filter:no")
   368 #ifndef Q_OS_SYMBIAN                             
   368 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   369         << Params()("parentAccountName", "Work")
   369         << Params()("parentAccountName", "Work")
   370         ("parentFolderPath", "Innbox/X-Announce")
   370         ("parentFolderPath", "Innbox/X-Announce")
   371         ("type", "email")
   371         ("type", "email")
   372         ("to", "announce@example.com,maintenance-log@example.com")
   372         ("to", "announce@example.com,maintenance-log@example.com")
   373         ("from", "sysadmin@example.com")
   373         ("from", "sysadmin@example.com")
   446         QVERIFY(filter == filter);
   446         QVERIFY(filter == filter);
   447         QCOMPARE(filter != QMessageFilter(), !filter.isEmpty());
   447         QCOMPARE(filter != QMessageFilter(), !filter.isEmpty());
   448 
   448 
   449         SignalCatcher sc(this);
   449         SignalCatcher sc(this);
   450         connect(testService,SIGNAL(messagesFound(const QMessageIdList&)),&sc,SLOT(messagesFound(const QMessageIdList&)));
   450         connect(testService,SIGNAL(messagesFound(const QMessageIdList&)),&sc,SLOT(messagesFound(const QMessageIdList&)));
   451 #ifdef Q_OS_SYMBIAN
   451 #if (defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   452         connect(testService,SIGNAL(stateChanged(QMessageService::State)),&sc,SLOT(stateChanged(QMessageService::State)));
   452         connect(testService,SIGNAL(stateChanged(QMessageService::State)),&sc,SLOT(stateChanged(QMessageService::State)));
   453 #endif        
   453 #endif        
   454 
   454 
   455         // Order is irrelevant for filtering
   455         // Order is irrelevant for filtering
   456 
   456 
   457         if (body.isEmpty()) {
   457         if (body.isEmpty()) {
   458             sc.reset();
   458             sc.reset();
   459             QCOMPARE(testService->queryMessages(filter&~existingAccountsFilter),true);
   459             QCOMPARE(testService->queryMessages(filter&~existingAccountsFilter),true);
   460 #ifdef Q_OS_SYMBIAN            
   460 #if (defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   461             QTRY_VERIFY(sc.state == QMessageService::FinishedState);
   461             QTRY_VERIFY(sc.state == QMessageService::FinishedState);
   462 #else            
   462 #else            
   463             while(testService->state() == QMessageService::ActiveState)
   463             while(testService->state() == QMessageService::ActiveState)
   464                 qApp->processEvents();
   464                 qApp->processEvents();
   465 #endif            
   465 #endif            
   466             QCOMPARE(sc.ids.toSet().subtract(existingMessageIds),ids.toSet());
   466             QCOMPARE(sc.ids.toSet().subtract(existingMessageIds),ids.toSet());
   467 
   467 
   468             sc.reset();
   468             sc.reset();
   469 
   469 
   470             QCOMPARE(testService->queryMessages(~filter&~existingAccountsFilter),true);
   470             QCOMPARE(testService->queryMessages(~filter&~existingAccountsFilter),true);
   471 #ifdef Q_OS_SYMBIAN            
   471 #if (defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   472             QTRY_VERIFY(sc.state == QMessageService::FinishedState);
   472             QTRY_VERIFY(sc.state == QMessageService::FinishedState);
   473 #else            
   473 #else            
   474             while(testService->state() == QMessageService::ActiveState)
   474             while(testService->state() == QMessageService::ActiveState)
   475                 qApp->processEvents();
   475                 qApp->processEvents();
   476 #endif            
   476 #endif            
   479         } else {
   479         } else {
   480 
   480 
   481             sc.reset();
   481             sc.reset();
   482 
   482 
   483             QCOMPARE(testService->queryMessages(filter&~existingAccountsFilter,body),true);
   483             QCOMPARE(testService->queryMessages(filter&~existingAccountsFilter,body),true);
   484 #ifdef Q_OS_SYMBIAN            
   484 #if (defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   485             QTRY_VERIFY(sc.state == QMessageService::FinishedState);
   485             QTRY_VERIFY(sc.state == QMessageService::FinishedState);
   486 #else            
   486 #else            
   487             while(testService->state() == QMessageService::ActiveState)
   487             while(testService->state() == QMessageService::ActiveState)
   488                 qApp->processEvents();
   488                 qApp->processEvents();
   489 #endif            
   489 #endif            
   490             QCOMPARE(sc.ids.toSet().subtract(existingMessageIds),ids.toSet());
   490             QCOMPARE(sc.ids.toSet().subtract(existingMessageIds),ids.toSet());
   491 
   491 
   492             sc.reset();
   492             sc.reset();
   493 
   493 
   494             QCOMPARE(testService->queryMessages(~filter&~existingAccountsFilter,body),true);
   494             QCOMPARE(testService->queryMessages(~filter&~existingAccountsFilter,body),true);
   495 #ifdef Q_OS_SYMBIAN            
   495 #if (defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   496             QTRY_VERIFY(sc.state == QMessageService::FinishedState);
   496             QTRY_VERIFY(sc.state == QMessageService::FinishedState);
   497 #else            
   497 #else            
   498             while(testService->state() == QMessageService::ActiveState)
   498             while(testService->state() == QMessageService::ActiveState)
   499                 qApp->processEvents();
   499                 qApp->processEvents();
   500 #endif            
   500 #endif            
   510     QTest::addColumn<QMessageFilter>("filter");
   510     QTest::addColumn<QMessageFilter>("filter");
   511     QTest::addColumn<QMessageIdList>("ids");
   511     QTest::addColumn<QMessageIdList>("ids");
   512     QTest::addColumn<QMessageIdList>("negatedIds");
   512     QTest::addColumn<QMessageIdList>("negatedIds");
   513     QTest::addColumn<QString>("body");
   513     QTest::addColumn<QString>("body");
   514 
   514 
       
   515 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   515     QTest::newRow("empty filter")
   516     QTest::newRow("empty filter")
   516         << QMessageFilter() 
   517         << QMessageFilter() 
   517         << messageIds
   518         << messageIds
   518         << QMessageIdList()
   519         << QMessageIdList()
   519         << "";
   520         << "";
       
   521 #endif
   520 
   522 
   521     QTest::newRow("id equality 1")
   523     QTest::newRow("id equality 1")
   522         << QMessageFilter::byId(messageIds[0], QMessageDataComparator::Equal) 
   524         << QMessageFilter::byId(messageIds[0], QMessageDataComparator::Equal) 
   523         << ( QMessageIdList() << messageIds[0] )
   525         << ( QMessageIdList() << messageIds[0] )
   524         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   526         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   570         << QMessageFilter::byId(QMessageIdList() << messageIds[0] << messageIds[1], QMessageDataComparator::Includes) 
   572         << QMessageFilter::byId(QMessageIdList() << messageIds[0] << messageIds[1], QMessageDataComparator::Includes) 
   571         << ( QMessageIdList() << messageIds[0] << messageIds[1] )
   573         << ( QMessageIdList() << messageIds[0] << messageIds[1] )
   572         << ( QMessageIdList() << messageIds[2] << messageIds[3] << messageIds[4] )
   574         << ( QMessageIdList() << messageIds[2] << messageIds[3] << messageIds[4] )
   573         << "";
   575         << "";
   574 
   576 
       
   577 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   575     QTest::newRow("id list inclusion empty")
   578     QTest::newRow("id list inclusion empty")
   576         << QMessageFilter::byId(QMessageIdList(), QMessageDataComparator::Includes) 
   579         << QMessageFilter::byId(QMessageIdList(), QMessageDataComparator::Includes) 
   577         << QMessageIdList()
   580         << QMessageIdList()
   578         << messageIds
   581         << messageIds
   579         << "";
   582         << "";
       
   583 #endif
   580 
   584 
   581     QTest::newRow("id list exclusion 1")
   585     QTest::newRow("id list exclusion 1")
   582         << QMessageFilter::byId(QMessageIdList() << messageIds[0], QMessageDataComparator::Excludes) 
   586         << QMessageFilter::byId(QMessageIdList() << messageIds[0], QMessageDataComparator::Excludes) 
   583         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   587         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   584         << ( QMessageIdList() << messageIds[0] )
   588         << ( QMessageIdList() << messageIds[0] )
   594         << QMessageFilter::byId(QMessageIdList() << messageIds[0] << messageIds[1], QMessageDataComparator::Excludes) 
   598         << QMessageFilter::byId(QMessageIdList() << messageIds[0] << messageIds[1], QMessageDataComparator::Excludes) 
   595         << ( QMessageIdList() << messageIds[2] << messageIds[3] << messageIds[4] )
   599         << ( QMessageIdList() << messageIds[2] << messageIds[3] << messageIds[4] )
   596         << ( QMessageIdList() << messageIds[0] << messageIds[1] )
   600         << ( QMessageIdList() << messageIds[0] << messageIds[1] )
   597         << "";
   601         << "";
   598 
   602 
       
   603 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   599     QTest::newRow("id list exclusion empty")
   604     QTest::newRow("id list exclusion empty")
   600         << QMessageFilter::byId(QMessageIdList(), QMessageDataComparator::Excludes) 
   605         << QMessageFilter::byId(QMessageIdList(), QMessageDataComparator::Excludes) 
   601         << messageIds
   606         << messageIds
   602         << QMessageIdList()
   607         << QMessageIdList()
   603         << "";
   608         << "";
   604 
   609 #endif
       
   610 
       
   611 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   605     QTest::newRow("id filter inclusion empty")
   612     QTest::newRow("id filter inclusion empty")
   606         << QMessageFilter::byId(QMessageFilter(), QMessageDataComparator::Includes) 
   613         << QMessageFilter::byId(QMessageFilter(), QMessageDataComparator::Includes) 
   607         << messageIds
   614         << messageIds
   608         << QMessageIdList()
   615         << QMessageIdList()
   609         << "";
   616         << "";
   618         << QMessageFilter::byId(QMessageFilter::bySubject("Free beer", QMessageDataComparator::Equal), 
   625         << QMessageFilter::byId(QMessageFilter::bySubject("Free beer", QMessageDataComparator::Equal), 
   619                 QMessageDataComparator::Includes)
   626                 QMessageDataComparator::Includes)
   620         << ( QMessageIdList() << messageIds[4] )
   627         << ( QMessageIdList() << messageIds[4] )
   621         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
   628         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
   622         << "";
   629         << "";
       
   630 #endif
   623 
   631 
   624     QTest::newRow("type equality 1")
   632     QTest::newRow("type equality 1")
   625         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Equal) 
   633         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Equal) 
   626 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
   634 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   627         << QMessageIdList()
   635         << QMessageIdList()
   628         << messageIds
   636         << messageIds
   629 #else
   637 #else
   630         << ( QMessageIdList() << messageIds[0] )
   638         << ( QMessageIdList() << messageIds[0] )
   631         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   639         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   632 #endif
   640 #endif
   633         << "";
   641         << "";
   634 
   642 
   635     QTest::newRow("type equality 2")
   643     QTest::newRow("type equality 2")
   636         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Equal) 
   644         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Equal) 
   637 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
   645 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   638         << messageIds
   646         << messageIds
   639         << QMessageIdList()
   647         << QMessageIdList()
   640 #else
   648 #else
   641         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   649         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   642         << ( QMessageIdList() << messageIds[0] )
   650         << ( QMessageIdList() << messageIds[0] )
   649         << messageIds
   657         << messageIds
   650         << "";
   658         << "";
   651 
   659 
   652     QTest::newRow("type inequality 1")
   660     QTest::newRow("type inequality 1")
   653         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::NotEqual) 
   661         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::NotEqual) 
   654 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
   662 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   655         << messageIds
   663         << messageIds
   656         << QMessageIdList()
   664         << QMessageIdList()
   657 #else
   665 #else
   658         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   666         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   659         << ( QMessageIdList() << messageIds[0] )
   667         << ( QMessageIdList() << messageIds[0] )
   660 #endif
   668 #endif
   661         << "";
   669         << "";
   662 
   670 
   663     QTest::newRow("type inequality 2")
   671     QTest::newRow("type inequality 2")
   664         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::NotEqual) 
   672         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::NotEqual) 
   665 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
   673 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   666         << QMessageIdList()
   674         << QMessageIdList()
   667         << messageIds
   675         << messageIds
   668 #else
   676 #else
   669         << ( QMessageIdList() << messageIds[0] )
   677         << ( QMessageIdList() << messageIds[0] )
   670         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   678         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   677         << QMessageIdList()
   685         << QMessageIdList()
   678         << "";
   686         << "";
   679 
   687 
   680     QTest::newRow("type mask inclusion 1")
   688     QTest::newRow("type mask inclusion 1")
   681         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Includes) 
   689         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Includes) 
   682 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
   690 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   683         << QMessageIdList()
   691         << QMessageIdList()
   684         << messageIds
   692         << messageIds
   685 #else
   693 #else
   686         << ( QMessageIdList() << messageIds[0] )
   694         << ( QMessageIdList() << messageIds[0] )
   687         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   695         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   688 #endif
   696 #endif
   689         << "";
   697         << "";
   690 
   698 
   691     QTest::newRow("type mask inclusion 2")
   699     QTest::newRow("type mask inclusion 2")
   692         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Includes) 
   700         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Includes) 
   693 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
   701 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   694         << messageIds
   702         << messageIds
   695         << QMessageIdList()
   703         << QMessageIdList()
   696 #else
   704 #else
   697         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   705         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   698         << ( QMessageIdList() << messageIds[0] )
   706         << ( QMessageIdList() << messageIds[0] )
   711         << messageIds
   719         << messageIds
   712         << "";
   720         << "";
   713 
   721 
   714     QTest::newRow("type mask exclusion 1")
   722     QTest::newRow("type mask exclusion 1")
   715         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Excludes) 
   723         << QMessageFilter::byType(QMessage::Sms, QMessageDataComparator::Excludes) 
   716 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
   724 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   717         << messageIds
   725         << messageIds
   718         << QMessageIdList()
   726         << QMessageIdList()
   719 #else
   727 #else
   720         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   728         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   721         << ( QMessageIdList() << messageIds[0] )
   729         << ( QMessageIdList() << messageIds[0] )
   722 #endif
   730 #endif
   723         << "";
   731         << "";
   724 
   732 
   725     QTest::newRow("type mask exclusion 2")
   733     QTest::newRow("type mask exclusion 2")
   726         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Excludes) 
   734         << QMessageFilter::byType(QMessage::Email, QMessageDataComparator::Excludes) 
   727 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN))
   735 #if (defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6))
   728         << QMessageIdList()
   736         << QMessageIdList()
   729         << messageIds
   737         << messageIds
   730 #else
   738 #else
   731         << ( QMessageIdList() << messageIds[0] )
   739         << ( QMessageIdList() << messageIds[0] )
   732         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   740         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   743         << QMessageFilter::byType(QMessage::NoType, QMessageDataComparator::Excludes) 
   751         << QMessageFilter::byType(QMessage::NoType, QMessageDataComparator::Excludes) 
   744         << messageIds
   752         << messageIds
   745         << QMessageIdList()
   753         << QMessageIdList()
   746         << "";
   754         << "";
   747 
   755 
       
   756 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   748     QTest::newRow("sender equality 1")
   757     QTest::newRow("sender equality 1")
   749         << QMessageFilter::bySender("Esteemed.Colleague@example.com", QMessageDataComparator::Equal) 
   758         << QMessageFilter::bySender("Esteemed.Colleague@example.com", QMessageDataComparator::Equal) 
   750         << ( QMessageIdList() << messageIds[1] )
   759         << ( QMessageIdList() << messageIds[1] )
   751         << ( QMessageIdList() << messageIds[0] << messageIds[2] << messageIds[3] << messageIds[4] )
   760         << ( QMessageIdList() << messageIds[0] << messageIds[2] << messageIds[3] << messageIds[4] )
   752         << "";
   761         << "";
   754     QTest::newRow("sender equality 2")
   763     QTest::newRow("sender equality 2")
   755         << QMessageFilter::bySender("sysadmin@example.com", QMessageDataComparator::Equal) 
   764         << QMessageFilter::bySender("sysadmin@example.com", QMessageDataComparator::Equal) 
   756         << ( QMessageIdList() << messageIds[3] )
   765         << ( QMessageIdList() << messageIds[3] )
   757         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[4] )
   766         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[4] )
   758         << "";
   767         << "";
       
   768 #endif
   759 
   769 
   760     QTest::newRow("sender equality non-matching")
   770     QTest::newRow("sender equality non-matching")
   761         << QMessageFilter::bySender("Nonesuch", QMessageDataComparator::Equal) 
   771         << QMessageFilter::bySender("Nonesuch", QMessageDataComparator::Equal) 
   762         << QMessageIdList()
   772         << QMessageIdList()
   763         << messageIds
   773         << messageIds
   773         << QMessageFilter::bySender("", QMessageDataComparator::Equal) 
   783         << QMessageFilter::bySender("", QMessageDataComparator::Equal) 
   774         << QMessageIdList()
   784         << QMessageIdList()
   775         << messageIds
   785         << messageIds
   776         << "";
   786         << "";
   777 
   787 
       
   788 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
   778     QTest::newRow("sender inequality 1")
   789     QTest::newRow("sender inequality 1")
   779         << QMessageFilter::bySender("Esteemed.Colleague@example.com", QMessageDataComparator::NotEqual) 
   790         << QMessageFilter::bySender("Esteemed.Colleague@example.com", QMessageDataComparator::NotEqual) 
   780         << ( QMessageIdList() << messageIds[0] << messageIds[2] << messageIds[3] << messageIds[4] )
   791         << ( QMessageIdList() << messageIds[0] << messageIds[2] << messageIds[3] << messageIds[4] )
   781         << ( QMessageIdList() << messageIds[1] )
   792         << ( QMessageIdList() << messageIds[1] )
   782         << "";
   793         << "";
   862     QTest::newRow("sender exclusion zero-length")
   873     QTest::newRow("sender exclusion zero-length")
   863         << QMessageFilter::bySender("", QMessageDataComparator::Excludes) 
   874         << QMessageFilter::bySender("", QMessageDataComparator::Excludes) 
   864         << QMessageIdList()
   875         << QMessageIdList()
   865         << messageIds
   876         << messageIds
   866         << "";
   877         << "";
       
   878 #endif
   867 
   879 
   868     QTest::newRow("recipients inclusion 1")
   880     QTest::newRow("recipients inclusion 1")
   869         << QMessageFilter::byRecipients("example", QMessageDataComparator::Includes) 
   881         << QMessageFilter::byRecipients("example", QMessageDataComparator::Includes) 
   870         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   882         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
   871         << ( QMessageIdList() << messageIds[0] )
   883         << ( QMessageIdList() << messageIds[0] )
  1043         << QMessageFilter::bySubject("", QMessageDataComparator::Excludes) 
  1055         << QMessageFilter::bySubject("", QMessageDataComparator::Excludes) 
  1044         << QMessageIdList()
  1056         << QMessageIdList()
  1045         << messageIds
  1057         << messageIds
  1046         << "";
  1058         << "";
  1047 
  1059 
       
  1060 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1048     QTest::newRow("timeStamp equality 1")
  1061     QTest::newRow("timeStamp equality 1")
  1049         << QMessageFilter::byTimeStamp(QDateTime::fromString("1999-04-01T10:30:00Z", Qt::ISODate), QMessageDataComparator::Equal) 
  1062         << QMessageFilter::byTimeStamp(QDateTime::fromString("1999-04-01T10:30:00Z", Qt::ISODate), QMessageDataComparator::Equal) 
  1050         << ( QMessageIdList() << messageIds[4] )
  1063         << ( QMessageIdList() << messageIds[4] )
  1051         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  1064         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  1052         << "";
  1065         << "";
  1218     QTest::newRow("receptionTimeStamp greater than equal")
  1231     QTest::newRow("receptionTimeStamp greater than equal")
  1219         << QMessageFilter::byReceptionTimeStamp(epoch, QMessageDataComparator::GreaterThanEqual) 
  1232         << QMessageFilter::byReceptionTimeStamp(epoch, QMessageDataComparator::GreaterThanEqual) 
  1220         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  1233         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  1221         << ( QMessageIdList() << messageIds[4] )
  1234         << ( QMessageIdList() << messageIds[4] )
  1222         << "";
  1235         << "";
  1223 
  1236 #endif
       
  1237 
       
  1238 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1224     QTest::newRow("status equality 1")
  1239     QTest::newRow("status equality 1")
  1225         << QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Equal) 
  1240         << QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Equal) 
  1226         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1241         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1227         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1242         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1228         << "";
  1243         << "";
  1230     QTest::newRow("status equality 2")
  1245     QTest::newRow("status equality 2")
  1231         << QMessageFilter::byStatus(QMessage::HasAttachments, QMessageDataComparator::Equal) 
  1246         << QMessageFilter::byStatus(QMessage::HasAttachments, QMessageDataComparator::Equal) 
  1232         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] )
  1247         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] )
  1233         << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  1248         << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  1234         << "";
  1249         << "";
       
  1250 #endif
  1235 
  1251 
  1236     QTest::newRow("status equality 3")
  1252     QTest::newRow("status equality 3")
  1237         << QMessageFilter::byStatus(QMessage::Removed, QMessageDataComparator::Equal) 
  1253         << QMessageFilter::byStatus(QMessage::Removed, QMessageDataComparator::Equal) 
  1238         << QMessageIdList()
  1254         << QMessageIdList()
  1239         << messageIds
  1255         << messageIds
  1240         << "";
  1256         << "";
  1241 
  1257 
       
  1258 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1242     QTest::newRow("status inequality 1")
  1259     QTest::newRow("status inequality 1")
  1243         << QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::NotEqual) 
  1260         << QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::NotEqual) 
  1244         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1261         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1245         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1262         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1246         << "";
  1263         << "";
  1248     QTest::newRow("status inequality 2")
  1265     QTest::newRow("status inequality 2")
  1249         << QMessageFilter::byStatus(QMessage::HasAttachments, QMessageDataComparator::NotEqual) 
  1266         << QMessageFilter::byStatus(QMessage::HasAttachments, QMessageDataComparator::NotEqual) 
  1250         << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  1267         << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  1251         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] )
  1268         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] )
  1252         << "";
  1269         << "";
       
  1270 #endif
  1253 
  1271 
  1254     QTest::newRow("status inequality 3")
  1272     QTest::newRow("status inequality 3")
  1255         << QMessageFilter::byStatus(QMessage::Removed, QMessageDataComparator::NotEqual) 
  1273         << QMessageFilter::byStatus(QMessage::Removed, QMessageDataComparator::NotEqual) 
  1256         << messageIds
  1274         << messageIds
  1257         << QMessageIdList()
  1275         << QMessageIdList()
  1258         << "";
  1276         << "";
  1259 
  1277 
       
  1278 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1260     QTest::newRow("status mask inclusion 1")
  1279     QTest::newRow("status mask inclusion 1")
  1261         << QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Includes) 
  1280         << QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Includes) 
  1262         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1281         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1263         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1282         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1264         << "";
  1283         << "";
  1266     QTest::newRow("status mask inclusion 2")
  1285     QTest::newRow("status mask inclusion 2")
  1267         << QMessageFilter::byStatus(QMessage::Read | QMessage::HasAttachments, QMessageDataComparator::Includes) 
  1286         << QMessageFilter::byStatus(QMessage::Read | QMessage::HasAttachments, QMessageDataComparator::Includes) 
  1268         << ( QMessageIdList() << messageIds[4] )
  1287         << ( QMessageIdList() << messageIds[4] )
  1269         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  1288         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  1270         << "";
  1289         << "";
       
  1290 #endif
  1271 
  1291 
  1272     QTest::newRow("status mask inclusion 3")
  1292     QTest::newRow("status mask inclusion 3")
  1273         << QMessageFilter::byStatus(QMessage::Read | QMessage::Removed, QMessageDataComparator::Includes) 
  1293         << QMessageFilter::byStatus(QMessage::Read | QMessage::Removed, QMessageDataComparator::Includes) 
  1274         << QMessageIdList()
  1294         << QMessageIdList()
  1275         << messageIds
  1295         << messageIds
  1279         << QMessageFilter::byStatus(static_cast<QMessage::StatusFlags>(0), QMessageDataComparator::Includes) 
  1299         << QMessageFilter::byStatus(static_cast<QMessage::StatusFlags>(0), QMessageDataComparator::Includes) 
  1280         << QMessageIdList()
  1300         << QMessageIdList()
  1281         << messageIds
  1301         << messageIds
  1282         << "";
  1302         << "";
  1283 
  1303 
       
  1304 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1284     QTest::newRow("status mask exclusion 1")
  1305     QTest::newRow("status mask exclusion 1")
  1285         << QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Excludes) 
  1306         << QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Excludes) 
  1286         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1307         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1287         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1308         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1288         << "";
  1309         << "";
  1296     QTest::newRow("status mask exclusion 3")
  1317     QTest::newRow("status mask exclusion 3")
  1297         << QMessageFilter::byStatus(QMessage::Read | QMessage::Removed, QMessageDataComparator::Excludes) 
  1318         << QMessageFilter::byStatus(QMessage::Read | QMessage::Removed, QMessageDataComparator::Excludes) 
  1298         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1319         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1299         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1320         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1300         << "";
  1321         << "";
       
  1322 #endif
  1301 
  1323 
  1302     QTest::newRow("status mask exclusion empty")
  1324     QTest::newRow("status mask exclusion empty")
  1303         << QMessageFilter::byStatus(static_cast<QMessage::StatusFlags>(0), QMessageDataComparator::Excludes) 
  1325         << QMessageFilter::byStatus(static_cast<QMessage::StatusFlags>(0), QMessageDataComparator::Excludes) 
  1304         << QMessageIdList()
  1326         << QMessageIdList()
  1305         << messageIds
  1327         << messageIds
  1306         << "";
  1328         << "";
  1307 
  1329 
       
  1330 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1308     QTest::newRow("priority equality 1")
  1331     QTest::newRow("priority equality 1")
  1309         << QMessageFilter::byPriority(QMessage::HighPriority, QMessageDataComparator::Equal) 
  1332         << QMessageFilter::byPriority(QMessage::HighPriority, QMessageDataComparator::Equal) 
  1310         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1333         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1311         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1334         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1312         << "";
  1335         << "";
  1338     QTest::newRow("priority inequality 3")
  1361     QTest::newRow("priority inequality 3")
  1339         << QMessageFilter::byPriority(QMessage::NormalPriority, QMessageDataComparator::NotEqual) 
  1362         << QMessageFilter::byPriority(QMessage::NormalPriority, QMessageDataComparator::NotEqual) 
  1340         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] )
  1363         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[4] )
  1341         << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  1364         << ( QMessageIdList() << messageIds[0] << messageIds[3] )
  1342         << "";
  1365         << "";
       
  1366 #endif
  1343 
  1367 
  1344     QTest::newRow("size equality 1")
  1368     QTest::newRow("size equality 1")
  1345         << QMessageFilter::bySize(messageSizes[3], QMessageDataComparator::Equal) 
  1369         << QMessageFilter::bySize(messageSizes[3], QMessageDataComparator::Equal) 
  1346         << ( QMessageIdList() << messageIds[3] )
  1370         << ( QMessageIdList() << messageIds[3] )
  1347         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[4] )
  1371         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[4] )
  1444         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1468         << ( QMessageIdList() << messageIds[1] << messageIds[2] )
  1445         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1469         << ( QMessageIdList() << messageIds[0] << messageIds[3] << messageIds[4] )
  1446 #endif
  1470 #endif
  1447         << "";
  1471         << "";
  1448 
  1472 
       
  1473 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1449     QTest::newRow("parentAccountId equality 1")
  1474     QTest::newRow("parentAccountId equality 1")
  1450         << QMessageFilter::byParentAccountId(accountIds[0], QMessageDataComparator::Equal) 
  1475         << QMessageFilter::byParentAccountId(accountIds[0], QMessageDataComparator::Equal) 
  1451         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1476         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1452         << ( QMessageIdList() << messageIds[0] )
  1477         << ( QMessageIdList() << messageIds[0] )
  1453         << "";
  1478         << "";
  1455     QTest::newRow("parentAccountId equality 2")
  1480     QTest::newRow("parentAccountId equality 2")
  1456         << QMessageFilter::byParentAccountId(accountIds[2], QMessageDataComparator::Equal) 
  1481         << QMessageFilter::byParentAccountId(accountIds[2], QMessageDataComparator::Equal) 
  1457         << ( QMessageIdList() << messageIds[0] )
  1482         << ( QMessageIdList() << messageIds[0] )
  1458         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1483         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1459         << "";
  1484         << "";
       
  1485 #endif
  1460 
  1486 
  1461     QTest::newRow("parentAccountId equality invalid")
  1487     QTest::newRow("parentAccountId equality invalid")
  1462         << QMessageFilter::byParentAccountId(QMessageAccountId(), QMessageDataComparator::Equal) 
  1488         << QMessageFilter::byParentAccountId(QMessageAccountId(), QMessageDataComparator::Equal) 
  1463         << QMessageIdList()
  1489         << QMessageIdList()
  1464         << messageIds
  1490         << messageIds
  1465         << "";
  1491         << "";
  1466 
  1492 
       
  1493 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1467     QTest::newRow("parentAccountId inequality 1")
  1494     QTest::newRow("parentAccountId inequality 1")
  1468         << QMessageFilter::byParentAccountId(accountIds[0], QMessageDataComparator::NotEqual) 
  1495         << QMessageFilter::byParentAccountId(accountIds[0], QMessageDataComparator::NotEqual) 
  1469         << ( QMessageIdList() << messageIds[0] )
  1496         << ( QMessageIdList() << messageIds[0] )
  1470         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1497         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1471         << "";
  1498         << "";
  1473     QTest::newRow("parentAccountId inequality 2")
  1500     QTest::newRow("parentAccountId inequality 2")
  1474         << QMessageFilter::byParentAccountId(accountIds[2], QMessageDataComparator::NotEqual) 
  1501         << QMessageFilter::byParentAccountId(accountIds[2], QMessageDataComparator::NotEqual) 
  1475         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1502         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1476         << ( QMessageIdList() << messageIds[0] )
  1503         << ( QMessageIdList() << messageIds[0] )
  1477         << "";
  1504         << "";
       
  1505 #endif
  1478 
  1506 
  1479     QTest::newRow("parentAccountId inequality invalid")
  1507     QTest::newRow("parentAccountId inequality invalid")
  1480         << QMessageFilter::byParentAccountId(QMessageAccountId(), QMessageDataComparator::NotEqual) 
  1508         << QMessageFilter::byParentAccountId(QMessageAccountId(), QMessageDataComparator::NotEqual) 
  1481         << messageIds
  1509         << messageIds
  1482         << QMessageIdList()
  1510         << QMessageIdList()
  1483         << "";
  1511         << "";
  1484 
  1512 
       
  1513 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1485     QTest::newRow("parentAccountId filter inclusion 1")
  1514     QTest::newRow("parentAccountId filter inclusion 1")
  1486         << QMessageFilter::byParentAccountId(QMessageAccountFilter::byName("Alter Ego", QMessageDataComparator::Equal), QMessageDataComparator::Includes) 
  1515         << QMessageFilter::byParentAccountId(QMessageAccountFilter::byName("Alter Ego", QMessageDataComparator::Equal), QMessageDataComparator::Includes) 
  1487         << ( QMessageIdList() << messageIds[0] )
  1516         << ( QMessageIdList() << messageIds[0] )
  1488         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1517         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1489         << "";
  1518         << "";
  1539     QTest::newRow("parentAccountId filter exclusion non-matching")
  1568     QTest::newRow("parentAccountId filter exclusion non-matching")
  1540         << QMessageFilter::byParentAccountId(QMessageAccountFilter::byName("NoneSuch"), QMessageDataComparator::Excludes) 
  1569         << QMessageFilter::byParentAccountId(QMessageAccountFilter::byName("NoneSuch"), QMessageDataComparator::Excludes) 
  1541         << messageIds
  1570         << messageIds
  1542         << QMessageIdList()
  1571         << QMessageIdList()
  1543         << "";
  1572         << "";
  1544 
  1573 #endif
       
  1574 
       
  1575 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1545     QTest::newRow("standardFolder equality 1")
  1576     QTest::newRow("standardFolder equality 1")
  1546         << QMessageFilter::byStandardFolder(QMessage::InboxFolder, QMessageDataComparator::Equal)
  1577         << QMessageFilter::byStandardFolder(QMessage::InboxFolder, QMessageDataComparator::Equal)
  1547 #ifndef Q_OS_SYMBIAN    
  1578 #ifndef Q_OS_SYMBIAN    
  1548         << messageIds
  1579         << messageIds
  1549         << ( QMessageIdList() )
  1580         << ( QMessageIdList() )
  1554 #endif        
  1585 #endif        
  1555         << "";
  1586         << "";
  1556 
  1587 
  1557     QTest::newRow("standardFolder equality 2")
  1588     QTest::newRow("standardFolder equality 2")
  1558         << QMessageFilter::byStandardFolder(QMessage::TrashFolder, QMessageDataComparator::Equal) 
  1589         << QMessageFilter::byStandardFolder(QMessage::TrashFolder, QMessageDataComparator::Equal) 
  1559 #ifndef Q_OS_SYMBIAN    
  1590 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1560         << ( QMessageIdList() )
  1591         << ( QMessageIdList() )
  1561         << messageIds
  1592         << messageIds
  1562 #else // Created folders are not mapped to any Standard Folder in Symbian 
  1593 #else // Created folders are not mapped to any Standard Folder in Symbian & Maemo
  1563         // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  1594         // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  1564         << ( QMessageIdList() )
  1595         << ( QMessageIdList() )
  1565         << ( QMessageIdList() )
  1596         << ( QMessageIdList() )
  1566 #endif        
  1597 #endif        
  1567         << "";
  1598         << "";
  1568 
  1599 
  1569     QTest::newRow("standardFolder inequality 1")
  1600     QTest::newRow("standardFolder inequality 1")
  1570         << QMessageFilter::byStandardFolder(QMessage::InboxFolder, QMessageDataComparator::NotEqual) 
  1601         << QMessageFilter::byStandardFolder(QMessage::InboxFolder, QMessageDataComparator::NotEqual) 
  1571 #ifndef Q_OS_SYMBIAN    
  1602 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1572         << ( QMessageIdList() )
  1603         << ( QMessageIdList() )
  1573         << messageIds
  1604         << messageIds
  1574 #else // Created folders are not mapped to any Standard Folder in Symbian 
  1605 #else // Created folders are not mapped to any Standard Folder in Symbian & Maemo
  1575         // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  1606         // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  1576         << ( QMessageIdList() )
  1607         << ( QMessageIdList() )
  1577         << ( QMessageIdList() )
  1608         << ( QMessageIdList() )
  1578 #endif        
  1609 #endif        
  1579         << "";
  1610         << "";
  1580 
  1611 
  1581     QTest::newRow("standardFolder inequality 2")
  1612     QTest::newRow("standardFolder inequality 2")
  1582         << QMessageFilter::byStandardFolder(QMessage::TrashFolder, QMessageDataComparator::NotEqual) 
  1613         << QMessageFilter::byStandardFolder(QMessage::TrashFolder, QMessageDataComparator::NotEqual) 
  1583 #ifndef Q_OS_SYMBIAN    
  1614 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1584         << messageIds
  1615         << messageIds
  1585         << ( QMessageIdList() )
  1616         << ( QMessageIdList() )
  1586 #else // Created folders are not mapped to any Standard Folder in Symbian 
  1617 #else // Created folders are not mapped to any Standard Folder in Symbian & Maemo
  1587         // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  1618         // <=> No messages will be returned, if messages are searched using Standard Folder Filter     
  1588         << ( QMessageIdList() )
  1619         << ( QMessageIdList() )
  1589         << ( QMessageIdList() )
  1620         << ( QMessageIdList() )
  1590 #endif        
  1621 #endif        
  1591         << "";
  1622         << "";
       
  1623 #endif
  1592 
  1624 
  1593     QTest::newRow("parentFolderId equality 1")
  1625     QTest::newRow("parentFolderId equality 1")
  1594         << QMessageFilter::byParentFolderId(folderIds[0], QMessageDataComparator::Equal) 
  1626         << QMessageFilter::byParentFolderId(folderIds[0], QMessageDataComparator::Equal) 
  1595         << ( QMessageIdList() << messageIds[0] )
  1627         << ( QMessageIdList() << messageIds[0] )
  1596         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1628         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1624         << QMessageFilter::byParentFolderId(QMessageFolderId(), QMessageDataComparator::NotEqual) 
  1656         << QMessageFilter::byParentFolderId(QMessageFolderId(), QMessageDataComparator::NotEqual) 
  1625         << messageIds
  1657         << messageIds
  1626         << QMessageIdList()
  1658         << QMessageIdList()
  1627         << "";
  1659         << "";
  1628 
  1660 
       
  1661 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1629     QTest::newRow("parentFolderId filter inclusion 1")
  1662     QTest::newRow("parentFolderId filter inclusion 1")
  1630         << QMessageFilter::byParentFolderId(QMessageFolderFilter::byPath("My messages", QMessageDataComparator::Equal), QMessageDataComparator::Includes)
  1663         << QMessageFilter::byParentFolderId(QMessageFolderFilter::byPath("My messages", QMessageDataComparator::Equal), QMessageDataComparator::Includes)
  1631         << ( QMessageIdList() << messageIds[0] )
  1664         << ( QMessageIdList() << messageIds[0] )
  1632         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1665         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] << messageIds[4] )
  1633         << "";
  1666         << "";
  1693     QTest::newRow("parentFolderId filter exclusion non-matching")
  1726     QTest::newRow("parentFolderId filter exclusion non-matching")
  1694         << QMessageFilter::byParentFolderId(QMessageFolderFilter::byPath("NoneSuch"), QMessageDataComparator::Excludes) 
  1727         << QMessageFilter::byParentFolderId(QMessageFolderFilter::byPath("NoneSuch"), QMessageDataComparator::Excludes) 
  1695         << messageIds
  1728         << messageIds
  1696         << QMessageIdList()
  1729         << QMessageIdList()
  1697         << "";
  1730         << "";
  1698 
  1731 #endif
  1699 #ifndef Q_OS_SYMBIAN
  1732 
       
  1733 #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1700     QTest::newRow("ancestorFolderIds inclusion 1")
  1734     QTest::newRow("ancestorFolderIds inclusion 1")
  1701         << QMessageFilter::byAncestorFolderIds(folderIds[1], QMessageDataComparator::Includes)
  1735         << QMessageFilter::byAncestorFolderIds(folderIds[1], QMessageDataComparator::Includes)
  1702         << ( QMessageIdList() << messageIds[3] << messageIds[4] )
  1736         << ( QMessageIdList() << messageIds[3] << messageIds[4] )
  1703         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] )
  1737         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] )
  1704         << "";
  1738         << "";
  1792         << messageIds
  1826         << messageIds
  1793         << QMessageIdList()
  1827         << QMessageIdList()
  1794         << "";
  1828         << "";
  1795 #endif    
  1829 #endif    
  1796 
  1830 
       
  1831 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1797     // Test some basic combinations
  1832     // Test some basic combinations
  1798     QTest::newRow("status mask inclusion AND timeStamp greater than")
  1833     QTest::newRow("status mask inclusion AND timeStamp greater than")
  1799         << ( QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Includes) &
  1834         << ( QMessageFilter::byStatus(QMessage::Read, QMessageDataComparator::Includes) &
  1800                 QMessageFilter::byTimeStamp(epoch, QMessageDataComparator::GreaterThan) )
  1835                 QMessageFilter::byTimeStamp(epoch, QMessageDataComparator::GreaterThan) )
  1801         << ( QMessageIdList() << messageIds[3] )
  1836         << ( QMessageIdList() << messageIds[3] )
  1836     QTest::newRow("QMessageFilter::operator&=")
  1871     QTest::newRow("QMessageFilter::operator&=")
  1837         << andEquals
  1872         << andEquals
  1838         << ( QMessageIdList() << messageIds[2] )
  1873         << ( QMessageIdList() << messageIds[2] )
  1839         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[3] << messageIds[4] )
  1874         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[3] << messageIds[4] )
  1840         << "";
  1875         << "";
       
  1876 #endif
  1841 
  1877 
  1842     QMessageFilter orEquals(QMessageFilter::bySubject("agenda", QMessageDataComparator::Includes));
  1878     QMessageFilter orEquals(QMessageFilter::bySubject("agenda", QMessageDataComparator::Includes));
  1843     orEquals |= QMessageFilter::bySubject("ee", QMessageDataComparator::Excludes);
  1879     orEquals |= QMessageFilter::bySubject("ee", QMessageDataComparator::Excludes);
  1844     QTest::newRow("QMessageFilter::operator|=")
  1880     QTest::newRow("QMessageFilter::operator|=")
  1845         << orEquals
  1881         << orEquals
  1846         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] )
  1882         << ( QMessageIdList() << messageIds[1] << messageIds[2] << messageIds[3] )
  1847         << ( QMessageIdList() << messageIds[0] << messageIds[4] )
  1883         << ( QMessageIdList() << messageIds[0] << messageIds[4] )
  1848         << "";
  1884         << "";
  1849 
  1885 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1850     QTest::newRow("body")
  1886     QTest::newRow("body")
  1851         << QMessageFilter()
  1887         << QMessageFilter()
  1852         << ( QMessageIdList() << messageIds[0] << messageIds[2] )
  1888         << ( QMessageIdList() << messageIds[0] << messageIds[2] )
  1853         << QMessageIdList() // contains body but does not match filter
  1889         << QMessageIdList() // contains body but does not match filter
  1854         << "summer";
  1890         << "summer";
  1856     QTest::newRow("body and subject")
  1892     QTest::newRow("body and subject")
  1857         << QMessageFilter::bySubject("message", QMessageDataComparator::Includes)
  1893         << QMessageFilter::bySubject("message", QMessageDataComparator::Includes)
  1858         << ( QMessageIdList() << messageIds[2] )
  1894         << ( QMessageIdList() << messageIds[2] )
  1859         << ( QMessageIdList() << messageIds[0] ) // contains body but does not match filter
  1895         << ( QMessageIdList() << messageIds[0] ) // contains body but does not match filter
  1860         << "summer";
  1896         << "summer";
  1861 
  1897 #endif
       
  1898 
       
  1899 #if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
  1862     // Test options
  1900     // Test options
  1863     QMessageFilter caseInsensitive1(QMessageFilter::bySubject("free beer", QMessageDataComparator::Equal));
  1901     QMessageFilter caseInsensitive1(QMessageFilter::bySubject("free beer", QMessageDataComparator::Equal));
  1864     QTest::newRow("options:caseInsensitive 1")
  1902     QTest::newRow("options:caseInsensitive 1")
  1865         << caseInsensitive1
  1903         << caseInsensitive1
  1866         << ( QMessageIdList() << messageIds[4] )
  1904         << ( QMessageIdList() << messageIds[4] )
  1867         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  1905         << ( QMessageIdList() << messageIds[0] << messageIds[1] << messageIds[2] << messageIds[3] )
  1868         << "";
  1906         << "";
       
  1907 #endif
  1869 
  1908 
  1870     QMessageFilter caseSensitive1(QMessageFilter::bySubject("free beer", QMessageDataComparator::Equal));
  1909     QMessageFilter caseSensitive1(QMessageFilter::bySubject("free beer", QMessageDataComparator::Equal));
  1871     caseSensitive1.setMatchFlags(QMessageDataComparator::MatchCaseSensitive);
  1910     caseSensitive1.setMatchFlags(QMessageDataComparator::MatchCaseSensitive);
  1872     QTest::newRow("options:caseSensitive 1")
  1911     QTest::newRow("options:caseSensitive 1")
  1873         << caseSensitive1
  1912         << caseSensitive1