[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdepimlibs] akonadi/kmime/tests: Coding style
From: Guy Maurel <guy.maurel () kde ! org>
Date: 2014-02-25 17:47:37
Message-ID: E1WIM6T-0007kD-Ms () scm ! kde ! org
[Download RAW message or body]
Git commit 953a220adfdd1a456bc412224e216b58e916abcd by Guy Maurel.
Committed on 25/02/2014 at 17:42.
Pushed by guymaurel into branch 'master'.
Coding style
REVIEWS: 115994 115995 115996 115997 115998 115999 116000 116001
M +20 -21 akonadi/kmime/tests/foldersrequester.cpp
M +4 -4 akonadi/kmime/tests/foldersrequester.h
M +135 -136 akonadi/kmime/tests/localfoldersrequestjobtest.cpp
M +2 -2 akonadi/kmime/tests/localfoldersrequestjobtest.h
M +516 -517 akonadi/kmime/tests/localfolderstest.cpp
M +3 -3 akonadi/kmime/tests/localfolderstest.h
M +109 -107 akonadi/kmime/tests/racetest.cpp
M +4 -4 akonadi/kmime/tests/racetest.h
http://commits.kde.org/kdepimlibs/953a220adfdd1a456bc412224e216b58e916abcd
diff --git a/akonadi/kmime/tests/foldersrequester.cpp b/akonadi/kmime/tests/foldersrequester.cpp
index 268bf74..22aafe9 100644
--- a/akonadi/kmime/tests/foldersrequester.cpp
+++ b/akonadi/kmime/tests/foldersrequester.cpp
@@ -34,32 +34,31 @@ using namespace Akonadi;
Requester::Requester()
{
- Control::start();
+ Control::start();
- SpecialMailCollectionsRequestJob *rjob = new SpecialMailCollectionsRequestJob( this );
- rjob->requestDefaultCollection( SpecialMailCollections::Outbox );
- connect( rjob, SIGNAL(result(KJob*)), this, SLOT(requestResult(KJob*)) );
- rjob->start();
+ SpecialMailCollectionsRequestJob *rjob = new SpecialMailCollectionsRequestJob(this);
+ rjob->requestDefaultCollection(SpecialMailCollections::Outbox);
+ connect(rjob, SIGNAL(result(KJob*)), this, SLOT(requestResult(KJob*)));
+ rjob->start();
}
-void Requester::requestResult( KJob *job )
+void Requester::requestResult(KJob *job)
{
- if ( job->error() ) {
- kError() << "LocalFoldersRequestJob failed:" << job->errorString();
- KApplication::exit( 1 );
- } else {
- // Success.
- KApplication::exit( 2 );
- }
+ if (job->error()) {
+ kError() << "LocalFoldersRequestJob failed:" << job->errorString();
+ KApplication::exit(1);
+ } else {
+ // Success.
+ KApplication::exit(2);
+ }
}
-int main( int argc, char **argv )
+int main(int argc, char **argv)
{
- KCmdLineArgs::init( argc, argv, "foldersrequester", 0,
- ki18n( "foldersrequester" ), "0",
- ki18n( "An app that requests LocalFolders" ) );
- KApplication app;
- new Requester();
- return app.exec();
+ KCmdLineArgs::init(argc, argv, "foldersrequester", 0,
+ ki18n("foldersrequester"), "0",
+ ki18n("An app that requests LocalFolders"));
+ KApplication app;
+ new Requester();
+ return app.exec();
}
-
diff --git a/akonadi/kmime/tests/foldersrequester.h b/akonadi/kmime/tests/foldersrequester.h
index 1d5664b..a90b812 100644
--- a/akonadi/kmime/tests/foldersrequester.h
+++ b/akonadi/kmime/tests/foldersrequester.h
@@ -34,13 +34,13 @@ class KJob;
*/
class Requester : public QObject
{
- Q_OBJECT
+ Q_OBJECT
- public:
+public:
Requester();
- private Q_SLOTS:
- void requestResult( KJob *job );
+private Q_SLOTS:
+ void requestResult(KJob *job);
};
#endif
diff --git a/akonadi/kmime/tests/localfoldersrequestjobtest.cpp \
b/akonadi/kmime/tests/localfoldersrequestjobtest.cpp index fab21e2..2466eee 100644
--- a/akonadi/kmime/tests/localfoldersrequestjobtest.cpp
+++ b/akonadi/kmime/tests/localfoldersrequestjobtest.cpp
@@ -45,156 +45,155 @@ using namespace Akonadi;
void LocalFoldersRequestJobTest::initTestCase()
{
- qRegisterMetaType<Akonadi::AgentInstance>();
+ qRegisterMetaType<Akonadi::AgentInstance>();
- QVERIFY( Control::start() );
- QTest::qWait( 1000 );
+ QVERIFY(Control::start());
+ QTest::qWait(1000);
- SpecialMailCollections *smc = SpecialMailCollections::self();
- SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
- Q_ASSERT( smc );
- Q_ASSERT( smct );
- Q_UNUSED( smc );
+ SpecialMailCollections *smc = SpecialMailCollections::self();
+ SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
+ Q_ASSERT(smc);
+ Q_ASSERT(smct);
+ Q_UNUSED(smc);
- // No one has created the default resource. LF has no folders.
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
+ // No one has created the default resource. LF has no folders.
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
}
void LocalFoldersRequestJobTest::testRequestWithNoDefaultResourceExisting()
{
- SpecialMailCollections *smc = SpecialMailCollections::self();
- SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
- Q_ASSERT( smc );
- Q_ASSERT( smct );
- QSignalSpy spy( smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)) );
- QSignalSpy defSpy( smc, SIGNAL(defaultCollectionsChanged()) );
- QVERIFY( spy.isValid() );
- QVERIFY( defSpy.isValid() );
-
- // Initially the defaut maildir does not exist.
- QVERIFY( !QFile::exists( KGlobal::dirs()->localxdgdatadir() + "local-mail" ) );
-
- // Request some default folders.
- {
- SpecialMailCollectionsRequestJob *rjob = new SpecialMailCollectionsRequestJob( this );
- rjob->requestDefaultCollection( SpecialMailCollections::Outbox );
- rjob->requestDefaultCollection( SpecialMailCollections::Drafts );
- AKVERIFYEXEC( rjob );
- QCOMPARE( spy.count(), 1 );
- QCOMPARE( defSpy.count(), 1 );
- QCOMPARE( smct->_t_knownResourceCount(), 1 );
- QCOMPARE( smct->_t_knownFolderCount(), 3 ); // Outbox, Drafts, and Root.
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Outbox ) );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Drafts ) );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Root ) );
- }
-
- // The maildir should exist now.
- QVERIFY( QFile::exists( KGlobal::dirs()->localxdgdatadir() + QLatin1String( "local-mail" ) ) );
+ SpecialMailCollections *smc = SpecialMailCollections::self();
+ SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
+ Q_ASSERT(smc);
+ Q_ASSERT(smct);
+ QSignalSpy spy(smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)));
+ QSignalSpy defSpy(smc, SIGNAL(defaultCollectionsChanged()));
+ QVERIFY(spy.isValid());
+ QVERIFY(defSpy.isValid());
+
+ // Initially the defaut maildir does not exist.
+ QVERIFY(!QFile::exists(KGlobal::dirs()->localxdgdatadir() + "local-mail"));
+
+ // Request some default folders.
+ {
+ SpecialMailCollectionsRequestJob *rjob = new SpecialMailCollectionsRequestJob(this);
+ rjob->requestDefaultCollection(SpecialMailCollections::Outbox);
+ rjob->requestDefaultCollection(SpecialMailCollections::Drafts);
+ AKVERIFYEXEC(rjob);
+ QCOMPARE(spy.count(), 1);
+ QCOMPARE(defSpy.count(), 1);
+ QCOMPARE(smct->_t_knownResourceCount(), 1);
+ QCOMPARE(smct->_t_knownFolderCount(), 3); // Outbox, Drafts, and Root.
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Drafts));
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Root));
+ }
+
+ // The maildir should exist now.
+ QVERIFY(QFile::exists(KGlobal::dirs()->localxdgdatadir() + QLatin1String("local-mail")));
}
void LocalFoldersRequestJobTest::testRequestWithDefaultResourceAlreadyExisting()
{
- SpecialMailCollections *smc = SpecialMailCollections::self();
- SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
- Q_ASSERT( smc );
- Q_ASSERT( smct );
- QSignalSpy spy( smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)) );
- QSignalSpy defSpy( smc, SIGNAL(defaultCollectionsChanged()) );
- QVERIFY( spy.isValid() );
- QVERIFY( defSpy.isValid() );
-
- // Prerequisites (from testRequestWithNoDefaultResourceExisting()).
- QVERIFY( QFile::exists( KGlobal::dirs()->localxdgdatadir() + QLatin1String( "local-mail" ) ) );
- QVERIFY( !smc->hasDefaultCollection( SpecialMailCollections::Inbox ) );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Outbox ) );
- const Collection oldOutbox = smc->defaultCollection( SpecialMailCollections::Outbox );
-
- // Request some default folders.
- {
- SpecialMailCollectionsRequestJob *rjob = new SpecialMailCollectionsRequestJob( this );
- rjob->requestDefaultCollection( SpecialMailCollections::Outbox ); // Exists previously.
- rjob->requestDefaultCollection( SpecialMailCollections::Inbox ); // Must be created.
- AKVERIFYEXEC( rjob );
- QCOMPARE( spy.count(), 1 );
- QCOMPARE( defSpy.count(), 1 );
- QCOMPARE( smct->_t_knownResourceCount(), 1 );
- QCOMPARE( smct->_t_knownFolderCount(), 4 ); // Inbox, Outbox, Drafts, and Root.
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Inbox ) );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Outbox ) );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Drafts ) );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Root ) );
- }
-
- // This should be untouched.
- QCOMPARE( smc->defaultCollection( SpecialMailCollections::Outbox ), oldOutbox );
+ SpecialMailCollections *smc = SpecialMailCollections::self();
+ SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
+ Q_ASSERT(smc);
+ Q_ASSERT(smct);
+ QSignalSpy spy(smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)));
+ QSignalSpy defSpy(smc, SIGNAL(defaultCollectionsChanged()));
+ QVERIFY(spy.isValid());
+ QVERIFY(defSpy.isValid());
+
+ // Prerequisites (from testRequestWithNoDefaultResourceExisting()).
+ QVERIFY(QFile::exists(KGlobal::dirs()->localxdgdatadir() + QLatin1String("local-mail")));
+ QVERIFY(!smc->hasDefaultCollection(SpecialMailCollections::Inbox));
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
+ const Collection oldOutbox = smc->defaultCollection(SpecialMailCollections::Outbox);
+
+ // Request some default folders.
+ {
+ SpecialMailCollectionsRequestJob *rjob = new SpecialMailCollectionsRequestJob(this);
+ rjob->requestDefaultCollection(SpecialMailCollections::Outbox); // Exists previously.
+ rjob->requestDefaultCollection(SpecialMailCollections::Inbox); // Must be created.
+ AKVERIFYEXEC(rjob);
+ QCOMPARE(spy.count(), 1);
+ QCOMPARE(defSpy.count(), 1);
+ QCOMPARE(smct->_t_knownResourceCount(), 1);
+ QCOMPARE(smct->_t_knownFolderCount(), 4); // Inbox, Outbox, Drafts, and Root.
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Inbox));
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Drafts));
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Root));
+ }
+
+ // This should be untouched.
+ QCOMPARE(smc->defaultCollection(SpecialMailCollections::Outbox), oldOutbox);
}
void LocalFoldersRequestJobTest::testMixedRequest()
{
- SpecialMailCollections *smc = SpecialMailCollections::self();
- SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
- Q_ASSERT( smc );
- Q_ASSERT( smct );
- QSignalSpy spy( smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)) );
- QSignalSpy defSpy( smc, SIGNAL(defaultCollectionsChanged()) );
- QVERIFY( spy.isValid() );
- QVERIFY( defSpy.isValid() );
-
- // Get our knut collection.
- Collection res1;
- {
- CollectionPathResolver *resolver = new CollectionPathResolver( "res1", this );
- QVERIFY( resolver->exec() );
- res1 = Collection( resolver->collection() );
- CollectionFetchJob *fjob = new CollectionFetchJob( res1, CollectionFetchJob::Base, this );
- AKVERIFYEXEC( fjob );
- Q_ASSERT( fjob->collections().count() == 1 );
- res1 = fjob->collections().first();
- QVERIFY( res1.isValid() );
- QVERIFY( !res1.resource().isEmpty() );
- }
-
- // Create a LocalFolder in the knut resource.
- Collection knutOutbox;
- {
- knutOutbox.setName( QLatin1String( "my_outbox" ) );
- knutOutbox.setParentCollection( res1 );
- kDebug() << res1;
- knutOutbox.addAttribute( new SpecialCollectionAttribute( "outbox" ) );
- CollectionCreateJob *cjob = new CollectionCreateJob( knutOutbox, this );
- AKVERIFYEXEC( cjob );
- knutOutbox = cjob->collection();
- }
-
- // Prerequisites (from the above two functions).
- QVERIFY( QFile::exists( KGlobal::dirs()->localxdgdatadir() + QLatin1String( "local-mail" ) ) );
- QVERIFY( !smc->hasDefaultCollection( SpecialMailCollections::SentMail ) );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Outbox ) );
- const Collection oldOutbox = smc->defaultCollection( SpecialMailCollections::Outbox );
-
- // Request some folders, both in our default resource and in the knut resource.
- {
- SpecialMailCollectionsRequestJob *rjob = new SpecialMailCollectionsRequestJob( this );
- rjob->requestDefaultCollection( SpecialMailCollections::Outbox ); // Exists previously.
- rjob->requestDefaultCollection( SpecialMailCollections::SentMail ); // Must be created.
- rjob->requestCollection( SpecialMailCollections::Outbox, AgentManager::self()->instance( \
res1.resource() ) ); // Exists previously, but unregistered with LF.
- rjob->requestCollection( SpecialMailCollections::SentMail, AgentManager::self()->instance( \
res1.resource() ) ); // Must be created.
- AKVERIFYEXEC( rjob );
- QCOMPARE( spy.count(), 2 ); // Default resource and knut resource.
- QCOMPARE( defSpy.count(), 1 );
- QCOMPARE( smct->_t_knownResourceCount(), 2 );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Outbox ) );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::SentMail ) );
- QVERIFY( smc->hasCollection( SpecialMailCollections::Outbox, AgentManager::self()->instance( \
res1.resource() ) ) );
- QVERIFY( smc->hasCollection( SpecialMailCollections::SentMail, AgentManager::self()->instance( \
res1.resource() ) ) );
- }
-
- // These should be untouched.
- QCOMPARE( smc->defaultCollection( SpecialMailCollections::Outbox ), oldOutbox );
- QCOMPARE( smc->collection( SpecialMailCollections::Outbox, AgentManager::self()->instance( \
res1.resource() ) ), knutOutbox ); + SpecialMailCollections *smc = SpecialMailCollections::self();
+ SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
+ Q_ASSERT(smc);
+ Q_ASSERT(smct);
+ QSignalSpy spy(smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)));
+ QSignalSpy defSpy(smc, SIGNAL(defaultCollectionsChanged()));
+ QVERIFY(spy.isValid());
+ QVERIFY(defSpy.isValid());
+
+ // Get our knut collection.
+ Collection res1;
+ {
+ CollectionPathResolver *resolver = new CollectionPathResolver("res1", this);
+ QVERIFY(resolver->exec());
+ res1 = Collection(resolver->collection());
+ CollectionFetchJob *fjob = new CollectionFetchJob(res1, CollectionFetchJob::Base, this);
+ AKVERIFYEXEC(fjob);
+ Q_ASSERT(fjob->collections().count() == 1);
+ res1 = fjob->collections().first();
+ QVERIFY(res1.isValid());
+ QVERIFY(!res1.resource().isEmpty());
+ }
+
+ // Create a LocalFolder in the knut resource.
+ Collection knutOutbox;
+ {
+ knutOutbox.setName(QLatin1String("my_outbox"));
+ knutOutbox.setParentCollection(res1);
+ kDebug() << res1;
+ knutOutbox.addAttribute(new SpecialCollectionAttribute("outbox"));
+ CollectionCreateJob *cjob = new CollectionCreateJob(knutOutbox, this);
+ AKVERIFYEXEC(cjob);
+ knutOutbox = cjob->collection();
+ }
+
+ // Prerequisites (from the above two functions).
+ QVERIFY(QFile::exists(KGlobal::dirs()->localxdgdatadir() + QLatin1String("local-mail")));
+ QVERIFY(!smc->hasDefaultCollection(SpecialMailCollections::SentMail));
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
+ const Collection oldOutbox = smc->defaultCollection(SpecialMailCollections::Outbox);
+
+ // Request some folders, both in our default resource and in the knut resource.
+ {
+ SpecialMailCollectionsRequestJob *rjob = new SpecialMailCollectionsRequestJob(this);
+ rjob->requestDefaultCollection(SpecialMailCollections::Outbox); // Exists previously.
+ rjob->requestDefaultCollection(SpecialMailCollections::SentMail); // Must be created.
+ rjob->requestCollection(SpecialMailCollections::Outbox, \
AgentManager::self()->instance(res1.resource())); // Exists previously, but unregistered with LF. + \
rjob->requestCollection(SpecialMailCollections::SentMail, \
AgentManager::self()->instance(res1.resource())); // Must be created. + AKVERIFYEXEC(rjob);
+ QCOMPARE(spy.count(), 2); // Default resource and knut resource.
+ QCOMPARE(defSpy.count(), 1);
+ QCOMPARE(smct->_t_knownResourceCount(), 2);
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::SentMail));
+ QVERIFY(smc->hasCollection(SpecialMailCollections::Outbox, \
AgentManager::self()->instance(res1.resource()))); + \
QVERIFY(smc->hasCollection(SpecialMailCollections::SentMail, \
AgentManager::self()->instance(res1.resource()))); + }
+
+ // These should be untouched.
+ QCOMPARE(smc->defaultCollection(SpecialMailCollections::Outbox), oldOutbox);
+ QCOMPARE(smc->collection(SpecialMailCollections::Outbox, \
AgentManager::self()->instance(res1.resource())), knutOutbox); }
-QTEST_AKONADIMAIN( LocalFoldersRequestJobTest, NoGUI )
-
+QTEST_AKONADIMAIN(LocalFoldersRequestJobTest, NoGUI)
diff --git a/akonadi/kmime/tests/localfoldersrequestjobtest.h \
b/akonadi/kmime/tests/localfoldersrequestjobtest.h index a9aa2c1..aea0675 100644
--- a/akonadi/kmime/tests/localfoldersrequestjobtest.h
+++ b/akonadi/kmime/tests/localfoldersrequestjobtest.h
@@ -26,9 +26,9 @@
*/
class LocalFoldersRequestJobTest : public QObject
{
- Q_OBJECT
+ Q_OBJECT
- private Q_SLOTS:
+private Q_SLOTS:
void initTestCase();
void testRequestWithNoDefaultResourceExisting();
void testRequestWithDefaultResourceAlreadyExisting();
diff --git a/akonadi/kmime/tests/localfolderstest.cpp b/akonadi/kmime/tests/localfolderstest.cpp
index 24b6caf..a7c6015 100644
--- a/akonadi/kmime/tests/localfolderstest.cpp
+++ b/akonadi/kmime/tests/localfolderstest.cpp
@@ -53,572 +53,571 @@ static Collection res1;
void LocalFoldersTest::initTestCase()
{
- qRegisterMetaType<Akonadi::AgentInstance>( "Akonadi::AgentInstance" );
-
- mDisplayNameMap.insert( "local-mail", i18nc( "local mail folder", "Local Folders" ) );
- mDisplayNameMap.insert( "inbox", i18nc( "local mail folder", "inbox" ) );
- mDisplayNameMap.insert( "outbox", i18nc( "local mail folder", "outbox" ) );
- mDisplayNameMap.insert( "sent-mail", i18nc( "local mail folder", "sent-mail" ) );
- mDisplayNameMap.insert( "trash", i18nc( "local mail folder", "trash" ) );
- mDisplayNameMap.insert( "drafts", i18nc( "local mail folder", "drafts" ) );
- mDisplayNameMap.insert( "templates", i18nc( "local mail folder", "templates" ) );
-
- mIconNameMap.insert( "local-mail", QLatin1String( "folder" ) );
- mIconNameMap.insert( "inbox", QLatin1String( "mail-folder-inbox" ) );
- mIconNameMap.insert( "outbox", QLatin1String( "mail-folder-outbox" ) );
- mIconNameMap.insert( "sent-mail", QLatin1String( "mail-folder-sent" ) );
- mIconNameMap.insert( "trash", QLatin1String( "user-trash" ) );
- mIconNameMap.insert( "drafts", QLatin1String( "document-properties" ) );
- mIconNameMap.insert( "templates", QLatin1String( "document-new" ) );
-
- QVERIFY( Control::start() );
- QTest::qWait( 1000 );
-
- CollectionPathResolver *resolver = new CollectionPathResolver( "res1", this );
- QVERIFY( resolver->exec() );
- res1 = Collection( resolver->collection() );
-
- CollectionFetchJob *fjob = new CollectionFetchJob( res1, CollectionFetchJob::Base, this );
- AKVERIFYEXEC( fjob );
- Q_ASSERT( fjob->collections().count() == 1 );
- res1 = fjob->collections().first();
- QVERIFY( !res1.resource().isEmpty() );
+ qRegisterMetaType<Akonadi::AgentInstance>("Akonadi::AgentInstance");
+
+ mDisplayNameMap.insert("local-mail", i18nc("local mail folder", "Local Folders"));
+ mDisplayNameMap.insert("inbox", i18nc("local mail folder", "inbox"));
+ mDisplayNameMap.insert("outbox", i18nc("local mail folder", "outbox"));
+ mDisplayNameMap.insert("sent-mail", i18nc("local mail folder", "sent-mail"));
+ mDisplayNameMap.insert("trash", i18nc("local mail folder", "trash"));
+ mDisplayNameMap.insert("drafts", i18nc("local mail folder", "drafts"));
+ mDisplayNameMap.insert("templates", i18nc("local mail folder", "templates"));
+
+ mIconNameMap.insert("local-mail", QLatin1String("folder"));
+ mIconNameMap.insert("inbox", QLatin1String("mail-folder-inbox"));
+ mIconNameMap.insert("outbox", QLatin1String("mail-folder-outbox"));
+ mIconNameMap.insert("sent-mail", QLatin1String("mail-folder-sent"));
+ mIconNameMap.insert("trash", QLatin1String("user-trash"));
+ mIconNameMap.insert("drafts", QLatin1String("document-properties"));
+ mIconNameMap.insert("templates", QLatin1String("document-new"));
+
+ QVERIFY(Control::start());
+ QTest::qWait(1000);
+
+ CollectionPathResolver *resolver = new CollectionPathResolver("res1", this);
+ QVERIFY(resolver->exec());
+ res1 = Collection(resolver->collection());
+
+ CollectionFetchJob *fjob = new CollectionFetchJob(res1, CollectionFetchJob::Base, this);
+ AKVERIFYEXEC(fjob);
+ Q_ASSERT(fjob->collections().count() == 1);
+ res1 = fjob->collections().first();
+ QVERIFY(!res1.resource().isEmpty());
}
void LocalFoldersTest::testLock()
{
- const QString dbusName = QString::fromLatin1( "org.kde.pim.SpecialCollections" );
-
- // Initially not locked.
- QVERIFY( !DBusConnectionPool::threadConnection().interface()->isServiceRegistered( dbusName ) );
-
- // Get the lock.
- {
- GetLockJob *ljob = new GetLockJob( this );
- AKVERIFYEXEC( ljob );
- QVERIFY( DBusConnectionPool::threadConnection().interface()->isServiceRegistered( dbusName ) );
- }
-
- // Getting the lock again should fail.
- {
- GetLockJob *ljob = new GetLockJob( this );
- QVERIFY( !ljob->exec() );
- }
-
- // Release the lock.
- QVERIFY( DBusConnectionPool::threadConnection().interface()->isServiceRegistered( dbusName ) );
- releaseLock();
- QVERIFY( !DBusConnectionPool::threadConnection().interface()->isServiceRegistered( dbusName ) );
+ const QString dbusName = QString::fromLatin1("org.kde.pim.SpecialCollections");
+
+ // Initially not locked.
+ QVERIFY(!DBusConnectionPool::threadConnection().interface()->isServiceRegistered(dbusName));
+
+ // Get the lock.
+ {
+ GetLockJob *ljob = new GetLockJob(this);
+ AKVERIFYEXEC(ljob);
+ QVERIFY(DBusConnectionPool::threadConnection().interface()->isServiceRegistered(dbusName));
+ }
+
+ // Getting the lock again should fail.
+ {
+ GetLockJob *ljob = new GetLockJob(this);
+ QVERIFY(!ljob->exec());
+ }
+
+ // Release the lock.
+ QVERIFY(DBusConnectionPool::threadConnection().interface()->isServiceRegistered(dbusName));
+ releaseLock();
+ QVERIFY(!DBusConnectionPool::threadConnection().interface()->isServiceRegistered(dbusName));
}
void LocalFoldersTest::testInitialState()
{
- SpecialMailCollections *smc = SpecialMailCollections::self();
- SpecialCollections *sc = smc;
- SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
- Q_ASSERT( smc );
- Q_ASSERT( smct );
- Q_UNUSED( smct );
-
- // No one has created the default resource.
- QVERIFY( sc->d->defaultResource().identifier().isEmpty() );
-
- // LF does not have a default Outbox folder (or any other).
- QCOMPARE( smc->hasDefaultCollection( SpecialMailCollections::Outbox ), false );
- QVERIFY( !smc->defaultCollection( SpecialMailCollections::Outbox ).isValid() );
-
- // LF treats unknown resources correctly.
- const QString resourceId = QString::fromLatin1( "this_resource_does_not_exist" );
- QCOMPARE( smc->hasCollection( SpecialMailCollections::Outbox, AgentManager::self()->instance( \
resourceId ) ), false );
- QVERIFY( !smc->collection( SpecialMailCollections::Outbox, AgentManager::self()->instance( resourceId \
) ).isValid() ); + SpecialMailCollections *smc = SpecialMailCollections::self();
+ SpecialCollections *sc = smc;
+ SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
+ Q_ASSERT(smc);
+ Q_ASSERT(smct);
+ Q_UNUSED(smct);
+
+ // No one has created the default resource.
+ QVERIFY(sc->d->defaultResource().identifier().isEmpty());
+
+ // LF does not have a default Outbox folder (or any other).
+ QCOMPARE(smc->hasDefaultCollection(SpecialMailCollections::Outbox), false);
+ QVERIFY(!smc->defaultCollection(SpecialMailCollections::Outbox).isValid());
+
+ // LF treats unknown resources correctly.
+ const QString resourceId = QString::fromLatin1("this_resource_does_not_exist");
+ QCOMPARE(smc->hasCollection(SpecialMailCollections::Outbox, \
AgentManager::self()->instance(resourceId)), false); + \
QVERIFY(!smc->collection(SpecialMailCollections::Outbox, \
AgentManager::self()->instance(resourceId)).isValid()); }
void LocalFoldersTest::testRegistrationErrors()
{
- SpecialMailCollections *smc = SpecialMailCollections::self();
-
- // A valid collection that can be registered.
- Collection outbox;
- outbox.setName( QLatin1String( "my_outbox" ) );
- outbox.setParentCollection( res1 );
- outbox.addAttribute( new SpecialCollectionAttribute( "outbox" ) );
- outbox.setResource( res1.resource() );
-
- // Needs to be valid.
- {
- Collection col( outbox );
- col.setId( -1 );
- QVERIFY( !smc->registerCollection( SpecialMailCollections::Outbox, col ) );
- }
-
- // Needs to have a resourceId.
- {
- Collection col( outbox );
- col.setResource( QString() );
- QVERIFY( !smc->registerCollection( SpecialMailCollections::Outbox, col ) );
- }
-
- // Needs to have a LocalFolderAttribute.
- {
- Collection col( outbox );
- col.removeAttribute<SpecialCollectionAttribute>();
- QVERIFY( !smc->registerCollection( SpecialMailCollections::Outbox, col ) );
- }
+ SpecialMailCollections *smc = SpecialMailCollections::self();
+
+ // A valid collection that can be registered.
+ Collection outbox;
+ outbox.setName(QLatin1String("my_outbox"));
+ outbox.setParentCollection(res1);
+ outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
+ outbox.setResource(res1.resource());
+
+ // Needs to be valid.
+ {
+ Collection col(outbox);
+ col.setId(-1);
+ QVERIFY(!smc->registerCollection(SpecialMailCollections::Outbox, col));
+ }
+
+ // Needs to have a resourceId.
+ {
+ Collection col(outbox);
+ col.setResource(QString());
+ QVERIFY(!smc->registerCollection(SpecialMailCollections::Outbox, col));
+ }
+
+ // Needs to have a LocalFolderAttribute.
+ {
+ Collection col(outbox);
+ col.removeAttribute<SpecialCollectionAttribute>();
+ QVERIFY(!smc->registerCollection(SpecialMailCollections::Outbox, col));
+ }
}
void LocalFoldersTest::testDefaultFolderRegistration()
{
- SpecialMailCollections *smc = SpecialMailCollections::self();
- SpecialCollections *sc = smc;
- SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
- Q_ASSERT( smc );
- Q_ASSERT( smct );
- QSignalSpy spy( smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)) );
- QSignalSpy defSpy( smc, SIGNAL(defaultCollectionsChanged()) );
- QVERIFY( spy.isValid() );
- QVERIFY( defSpy.isValid() );
-
- // No one has created the default resource.
- QVERIFY( sc->d->defaultResource().identifier().isEmpty() );
-
- // Set the default resource. LF should still have no folders.
- smct->_t_setDefaultResourceId( res1.resource() );
- QCOMPARE( sc->d->defaultResource().identifier(), res1.resource() );
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
-
- // Manually create an Outbox collection.
- Collection outbox;
- outbox.setName( QLatin1String( "my_outbox" ) );
- outbox.setParentCollection( res1 );
- outbox.addAttribute( new SpecialCollectionAttribute( "outbox" ) );
- CollectionCreateJob *cjob = new CollectionCreateJob( outbox, this );
- AKVERIFYEXEC( cjob );
- outbox = cjob->collection();
-
- // LF should still have no folders, since the Outbox wasn't registered.
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
- QCOMPARE( spy.count(), 0 );
- QCOMPARE( defSpy.count(), 0 );
-
- // Register the collection. LF should now know it.
- bool ok = smc->registerCollection( SpecialMailCollections::Outbox, outbox );
- QVERIFY( ok );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Outbox ) );
- QCOMPARE( smc->defaultCollection( SpecialMailCollections::Outbox ), outbox );
- QCOMPARE( smct->_t_knownResourceCount(), 1 );
- QCOMPARE( smct->_t_knownFolderCount(), 1 );
- QCOMPARE( spy.count(), 1 );
- QCOMPARE( defSpy.count(), 1 );
-
- // Forget all folders in the default resource.
- smct->_t_forgetFoldersForResource( sc->d->defaultResource().identifier() );
- QCOMPARE( smc->hasDefaultCollection( SpecialMailCollections::Outbox ), false );
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
- QCOMPARE( spy.count(), 2 );
- QCOMPARE( defSpy.count(), 2 );
-
- // Delete the collection.
- CollectionDeleteJob *djob = new CollectionDeleteJob( outbox, this );
- AKVERIFYEXEC( djob );
+ SpecialMailCollections *smc = SpecialMailCollections::self();
+ SpecialCollections *sc = smc;
+ SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
+ Q_ASSERT(smc);
+ Q_ASSERT(smct);
+ QSignalSpy spy(smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)));
+ QSignalSpy defSpy(smc, SIGNAL(defaultCollectionsChanged()));
+ QVERIFY(spy.isValid());
+ QVERIFY(defSpy.isValid());
+
+ // No one has created the default resource.
+ QVERIFY(sc->d->defaultResource().identifier().isEmpty());
+
+ // Set the default resource. LF should still have no folders.
+ smct->_t_setDefaultResourceId(res1.resource());
+ QCOMPARE(sc->d->defaultResource().identifier(), res1.resource());
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
+
+ // Manually create an Outbox collection.
+ Collection outbox;
+ outbox.setName(QLatin1String("my_outbox"));
+ outbox.setParentCollection(res1);
+ outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
+ CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
+ AKVERIFYEXEC(cjob);
+ outbox = cjob->collection();
+
+ // LF should still have no folders, since the Outbox wasn't registered.
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
+ QCOMPARE(spy.count(), 0);
+ QCOMPARE(defSpy.count(), 0);
+
+ // Register the collection. LF should now know it.
+ bool ok = smc->registerCollection(SpecialMailCollections::Outbox, outbox);
+ QVERIFY(ok);
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
+ QCOMPARE(smc->defaultCollection(SpecialMailCollections::Outbox), outbox);
+ QCOMPARE(smct->_t_knownResourceCount(), 1);
+ QCOMPARE(smct->_t_knownFolderCount(), 1);
+ QCOMPARE(spy.count(), 1);
+ QCOMPARE(defSpy.count(), 1);
+
+ // Forget all folders in the default resource.
+ smct->_t_forgetFoldersForResource(sc->d->defaultResource().identifier());
+ QCOMPARE(smc->hasDefaultCollection(SpecialMailCollections::Outbox), false);
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
+ QCOMPARE(spy.count(), 2);
+ QCOMPARE(defSpy.count(), 2);
+
+ // Delete the collection.
+ CollectionDeleteJob *djob = new CollectionDeleteJob(outbox, this);
+ AKVERIFYEXEC(djob);
}
void LocalFoldersTest::testCustomFolderRegistration()
{
- SpecialMailCollections *smc = SpecialMailCollections::self();
- SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
- Q_ASSERT( smc );
- Q_ASSERT( smct );
- QSignalSpy spy( smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)) );
- QSignalSpy defSpy( smc, SIGNAL(defaultCollectionsChanged()) );
- QVERIFY( spy.isValid() );
- QVERIFY( defSpy.isValid() );
-
- // Set a fake default resource, so that res1.resource() isn't seen as the default one.
- // LF should have no folders.
- smct->_t_setDefaultResourceId( "dummy" );
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
-
- // Manually create an Outbox collection.
- Collection outbox;
- outbox.setName( QLatin1String( "my_outbox" ) );
- outbox.setParentCollection( res1 );
- outbox.addAttribute( new SpecialCollectionAttribute( "outbox" ) );
- CollectionCreateJob *cjob = new CollectionCreateJob( outbox, this );
- AKVERIFYEXEC( cjob );
- outbox = cjob->collection();
-
- // LF should still have no folders, since the Outbox wasn't registered.
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
- QCOMPARE( spy.count(), 0 );
- QCOMPARE( defSpy.count(), 0 );
-
- // Register the collection. LF should now know it.
- bool ok = smc->registerCollection( SpecialMailCollections::Outbox, outbox );
- QVERIFY( ok );
- QVERIFY( !smc->hasDefaultCollection( SpecialMailCollections::Outbox ) );
- QVERIFY( smc->hasCollection( SpecialMailCollections::Outbox, AgentManager::self()->instance( \
outbox.resource() ) ) );
- QCOMPARE( smc->collection( SpecialMailCollections::Outbox, AgentManager::self()->instance( \
outbox.resource() ) ), outbox );
- QCOMPARE( smct->_t_knownResourceCount(), 1 );
- QCOMPARE( smct->_t_knownFolderCount(), 1 );
- QCOMPARE( spy.count(), 1 );
- QCOMPARE( defSpy.count(), 0 );
-
- // Forget all folders in this resource.
- smct->_t_forgetFoldersForResource( outbox.resource() );
- QCOMPARE( smc->hasDefaultCollection( SpecialMailCollections::Outbox ), false );
- QCOMPARE( smc->hasCollection( SpecialMailCollections::Outbox, AgentManager::self()->instance( \
outbox.resource() ) ), false );
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
- QCOMPARE( spy.count(), 2 );
- QCOMPARE( defSpy.count(), 0 );
-
- // Delete the collection.
- CollectionDeleteJob *djob = new CollectionDeleteJob( outbox, this );
- AKVERIFYEXEC( djob );
+ SpecialMailCollections *smc = SpecialMailCollections::self();
+ SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
+ Q_ASSERT(smc);
+ Q_ASSERT(smct);
+ QSignalSpy spy(smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)));
+ QSignalSpy defSpy(smc, SIGNAL(defaultCollectionsChanged()));
+ QVERIFY(spy.isValid());
+ QVERIFY(defSpy.isValid());
+
+ // Set a fake default resource, so that res1.resource() isn't seen as the default one.
+ // LF should have no folders.
+ smct->_t_setDefaultResourceId("dummy");
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
+
+ // Manually create an Outbox collection.
+ Collection outbox;
+ outbox.setName(QLatin1String("my_outbox"));
+ outbox.setParentCollection(res1);
+ outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
+ CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
+ AKVERIFYEXEC(cjob);
+ outbox = cjob->collection();
+
+ // LF should still have no folders, since the Outbox wasn't registered.
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
+ QCOMPARE(spy.count(), 0);
+ QCOMPARE(defSpy.count(), 0);
+
+ // Register the collection. LF should now know it.
+ bool ok = smc->registerCollection(SpecialMailCollections::Outbox, outbox);
+ QVERIFY(ok);
+ QVERIFY(!smc->hasDefaultCollection(SpecialMailCollections::Outbox));
+ QVERIFY(smc->hasCollection(SpecialMailCollections::Outbox, \
AgentManager::self()->instance(outbox.resource()))); + \
QCOMPARE(smc->collection(SpecialMailCollections::Outbox, \
AgentManager::self()->instance(outbox.resource())), outbox); + QCOMPARE(smct->_t_knownResourceCount(), \
1); + QCOMPARE(smct->_t_knownFolderCount(), 1);
+ QCOMPARE(spy.count(), 1);
+ QCOMPARE(defSpy.count(), 0);
+
+ // Forget all folders in this resource.
+ smct->_t_forgetFoldersForResource(outbox.resource());
+ QCOMPARE(smc->hasDefaultCollection(SpecialMailCollections::Outbox), false);
+ QCOMPARE(smc->hasCollection(SpecialMailCollections::Outbox, \
AgentManager::self()->instance(outbox.resource())), false); + QCOMPARE(smct->_t_knownResourceCount(), \
0); + QCOMPARE(smct->_t_knownFolderCount(), 0);
+ QCOMPARE(spy.count(), 2);
+ QCOMPARE(defSpy.count(), 0);
+
+ // Delete the collection.
+ CollectionDeleteJob *djob = new CollectionDeleteJob(outbox, this);
+ AKVERIFYEXEC(djob);
}
void LocalFoldersTest::testCollectionDelete()
{
- SpecialMailCollections *smc = SpecialMailCollections::self();
- SpecialCollections *sc = smc;
- SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
- Q_ASSERT( smc );
- Q_ASSERT( smct );
- QSignalSpy spy( smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)) );
- QSignalSpy defSpy( smc, SIGNAL(defaultCollectionsChanged()) );
- QVERIFY( spy.isValid() );
- QVERIFY( defSpy.isValid() );
-
- // Set the default resource. LF should have no folders.
- smct->_t_setDefaultResourceId( res1.resource() );
- QCOMPARE( sc->d->defaultResource().identifier(), res1.resource() );
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
-
- // Manually create an Outbox collection.
- Collection outbox;
- outbox.setName( QLatin1String( "my_outbox" ) );
- outbox.setParentCollection( res1 );
- outbox.addAttribute( new SpecialCollectionAttribute( "outbox" ) );
- CollectionCreateJob *cjob = new CollectionCreateJob( outbox, this );
- AKVERIFYEXEC( cjob );
- outbox = cjob->collection();
-
- // LF should still have no folders, since the Outbox wasn't registered.
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
- QCOMPARE( spy.count(), 0 );
- QCOMPARE( defSpy.count(), 0 );
-
- // Register the collection. LF should now know it.
- bool ok = smc->registerCollection( SpecialMailCollections::Outbox, outbox );
- QVERIFY( ok );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Outbox ) );
- QCOMPARE( smc->defaultCollection( SpecialMailCollections::Outbox ), outbox );
- QCOMPARE( smct->_t_knownResourceCount(), 1 );
- QCOMPARE( smct->_t_knownFolderCount(), 1 );
- QCOMPARE( spy.count(), 1 );
- QCOMPARE( defSpy.count(), 1 );
-
- // Delete the collection. LF should watch for that.
- CollectionDeleteJob *djob = new CollectionDeleteJob( outbox, this );
- AKVERIFYEXEC( djob );
- QTest::qWait( 100 );
- QVERIFY( !smc->hasDefaultCollection( SpecialMailCollections::Outbox ) );
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
- QCOMPARE( spy.count(), 2 );
- QCOMPARE( defSpy.count(), 2 );
+ SpecialMailCollections *smc = SpecialMailCollections::self();
+ SpecialCollections *sc = smc;
+ SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
+ Q_ASSERT(smc);
+ Q_ASSERT(smct);
+ QSignalSpy spy(smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)));
+ QSignalSpy defSpy(smc, SIGNAL(defaultCollectionsChanged()));
+ QVERIFY(spy.isValid());
+ QVERIFY(defSpy.isValid());
+
+ // Set the default resource. LF should have no folders.
+ smct->_t_setDefaultResourceId(res1.resource());
+ QCOMPARE(sc->d->defaultResource().identifier(), res1.resource());
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
+
+ // Manually create an Outbox collection.
+ Collection outbox;
+ outbox.setName(QLatin1String("my_outbox"));
+ outbox.setParentCollection(res1);
+ outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
+ CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
+ AKVERIFYEXEC(cjob);
+ outbox = cjob->collection();
+
+ // LF should still have no folders, since the Outbox wasn't registered.
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
+ QCOMPARE(spy.count(), 0);
+ QCOMPARE(defSpy.count(), 0);
+
+ // Register the collection. LF should now know it.
+ bool ok = smc->registerCollection(SpecialMailCollections::Outbox, outbox);
+ QVERIFY(ok);
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
+ QCOMPARE(smc->defaultCollection(SpecialMailCollections::Outbox), outbox);
+ QCOMPARE(smct->_t_knownResourceCount(), 1);
+ QCOMPARE(smct->_t_knownFolderCount(), 1);
+ QCOMPARE(spy.count(), 1);
+ QCOMPARE(defSpy.count(), 1);
+
+ // Delete the collection. LF should watch for that.
+ CollectionDeleteJob *djob = new CollectionDeleteJob(outbox, this);
+ AKVERIFYEXEC(djob);
+ QTest::qWait(100);
+ QVERIFY(!smc->hasDefaultCollection(SpecialMailCollections::Outbox));
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
+ QCOMPARE(spy.count(), 2);
+ QCOMPARE(defSpy.count(), 2);
}
void LocalFoldersTest::testBatchRegister()
{
- SpecialMailCollections *smc = SpecialMailCollections::self();
- SpecialCollections *sc = smc;
- SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
- Q_ASSERT( smc );
- Q_ASSERT( smct );
- QSignalSpy spy( smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)) );
- QSignalSpy defSpy( smc, SIGNAL(defaultCollectionsChanged()) );
- QVERIFY( spy.isValid() );
- QVERIFY( defSpy.isValid() );
-
- // Set the default resource. LF should have no folders.
- smct->_t_setDefaultResourceId( res1.resource() );
- QCOMPARE( sc->d->defaultResource().identifier(), res1.resource() );
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
-
- // Manually create an Outbox collection.
- Collection outbox;
- outbox.setName( QLatin1String( "my_outbox" ) );
- outbox.setParentCollection( res1 );
- outbox.addAttribute( new SpecialCollectionAttribute( "outbox" ) );
- CollectionCreateJob *cjob = new CollectionCreateJob( outbox, this );
- AKVERIFYEXEC( cjob );
- outbox = cjob->collection();
-
- // Manually create a Drafts collection.
- Collection drafts;
- drafts.setName( QLatin1String( "my_drafts" ) );
- drafts.setParentCollection( res1 );
- drafts.addAttribute( new SpecialCollectionAttribute( "drafts" ) );
- cjob = new CollectionCreateJob( drafts, this );
- AKVERIFYEXEC( cjob );
- drafts = cjob->collection();
-
- // LF should still have no folders, since the folders were not registered.
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
- QCOMPARE( spy.count(), 0 );
- QCOMPARE( defSpy.count(), 0 );
-
- // Register the folders in batch mode.
- smct->_t_beginBatchRegister();
- bool ok = smc->registerCollection( SpecialMailCollections::Outbox, outbox );
- QVERIFY( ok );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Outbox ) );
- QCOMPARE( smc->defaultCollection( SpecialMailCollections::Outbox ), outbox );
- QCOMPARE( smct->_t_knownResourceCount(), 1 );
- QCOMPARE( smct->_t_knownFolderCount(), 1 );
- QCOMPARE( spy.count(), 0 );
- QCOMPARE( defSpy.count(), 0 );
- ok = smc->registerCollection( SpecialMailCollections::Drafts, drafts );
- QVERIFY( ok );
- QVERIFY( smc->hasDefaultCollection( SpecialMailCollections::Drafts ) );
- QCOMPARE( smc->defaultCollection( SpecialMailCollections::Drafts ), drafts );
- QCOMPARE( smct->_t_knownResourceCount(), 1 );
- QCOMPARE( smct->_t_knownFolderCount(), 2 );
- QCOMPARE( spy.count(), 0 );
- QCOMPARE( defSpy.count(), 0 );
- smct->_t_endBatchRegister();
- QCOMPARE( smct->_t_knownResourceCount(), 1 );
- QCOMPARE( smct->_t_knownFolderCount(), 2 );
- QCOMPARE( spy.count(), 1 );
- QCOMPARE( defSpy.count(), 1 );
-
- // Forget all folders in the default resource.
- smct->_t_forgetFoldersForResource( sc->d->defaultResource().identifier() );
- QCOMPARE( smc->hasDefaultCollection( SpecialMailCollections::Outbox ), false );
- QCOMPARE( smc->hasDefaultCollection( SpecialMailCollections::Drafts ), false );
- QCOMPARE( smct->_t_knownResourceCount(), 0 );
- QCOMPARE( smct->_t_knownFolderCount(), 0 );
- QCOMPARE( spy.count(), 2 );
- QCOMPARE( defSpy.count(), 2 );
-
- // Delete the collections.
- CollectionDeleteJob *djob = new CollectionDeleteJob( outbox, this );
- AKVERIFYEXEC( djob );
- djob = new CollectionDeleteJob( drafts, this );
- AKVERIFYEXEC( djob );
+ SpecialMailCollections *smc = SpecialMailCollections::self();
+ SpecialCollections *sc = smc;
+ SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
+ Q_ASSERT(smc);
+ Q_ASSERT(smct);
+ QSignalSpy spy(smc, SIGNAL(collectionsChanged(Akonadi::AgentInstance)));
+ QSignalSpy defSpy(smc, SIGNAL(defaultCollectionsChanged()));
+ QVERIFY(spy.isValid());
+ QVERIFY(defSpy.isValid());
+
+ // Set the default resource. LF should have no folders.
+ smct->_t_setDefaultResourceId(res1.resource());
+ QCOMPARE(sc->d->defaultResource().identifier(), res1.resource());
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
+
+ // Manually create an Outbox collection.
+ Collection outbox;
+ outbox.setName(QLatin1String("my_outbox"));
+ outbox.setParentCollection(res1);
+ outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
+ CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
+ AKVERIFYEXEC(cjob);
+ outbox = cjob->collection();
+
+ // Manually create a Drafts collection.
+ Collection drafts;
+ drafts.setName(QLatin1String("my_drafts"));
+ drafts.setParentCollection(res1);
+ drafts.addAttribute(new SpecialCollectionAttribute("drafts"));
+ cjob = new CollectionCreateJob(drafts, this);
+ AKVERIFYEXEC(cjob);
+ drafts = cjob->collection();
+
+ // LF should still have no folders, since the folders were not registered.
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
+ QCOMPARE(spy.count(), 0);
+ QCOMPARE(defSpy.count(), 0);
+
+ // Register the folders in batch mode.
+ smct->_t_beginBatchRegister();
+ bool ok = smc->registerCollection(SpecialMailCollections::Outbox, outbox);
+ QVERIFY(ok);
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
+ QCOMPARE(smc->defaultCollection(SpecialMailCollections::Outbox), outbox);
+ QCOMPARE(smct->_t_knownResourceCount(), 1);
+ QCOMPARE(smct->_t_knownFolderCount(), 1);
+ QCOMPARE(spy.count(), 0);
+ QCOMPARE(defSpy.count(), 0);
+ ok = smc->registerCollection(SpecialMailCollections::Drafts, drafts);
+ QVERIFY(ok);
+ QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Drafts));
+ QCOMPARE(smc->defaultCollection(SpecialMailCollections::Drafts), drafts);
+ QCOMPARE(smct->_t_knownResourceCount(), 1);
+ QCOMPARE(smct->_t_knownFolderCount(), 2);
+ QCOMPARE(spy.count(), 0);
+ QCOMPARE(defSpy.count(), 0);
+ smct->_t_endBatchRegister();
+ QCOMPARE(smct->_t_knownResourceCount(), 1);
+ QCOMPARE(smct->_t_knownFolderCount(), 2);
+ QCOMPARE(spy.count(), 1);
+ QCOMPARE(defSpy.count(), 1);
+
+ // Forget all folders in the default resource.
+ smct->_t_forgetFoldersForResource(sc->d->defaultResource().identifier());
+ QCOMPARE(smc->hasDefaultCollection(SpecialMailCollections::Outbox), false);
+ QCOMPARE(smc->hasDefaultCollection(SpecialMailCollections::Drafts), false);
+ QCOMPARE(smct->_t_knownResourceCount(), 0);
+ QCOMPARE(smct->_t_knownFolderCount(), 0);
+ QCOMPARE(spy.count(), 2);
+ QCOMPARE(defSpy.count(), 2);
+
+ // Delete the collections.
+ CollectionDeleteJob *djob = new CollectionDeleteJob(outbox, this);
+ AKVERIFYEXEC(djob);
+ djob = new CollectionDeleteJob(drafts, this);
+ AKVERIFYEXEC(djob);
}
void LocalFoldersTest::testResourceScanErrors()
{
- // Job fails if no resourceId is given.
- ResourceScanJob *resjob = new ResourceScanJob( QString(), Settings::self(), this );
- QVERIFY( !resjob->exec() );
+ // Job fails if no resourceId is given.
+ ResourceScanJob *resjob = new ResourceScanJob(QString(), Settings::self(), this);
+ QVERIFY(!resjob->exec());
}
void LocalFoldersTest::testResourceScan()
{
- // Verify that res1 has no collections.
- {
- CollectionFetchJob *fjob = new CollectionFetchJob( res1, CollectionFetchJob::Recursive, this );
- AKVERIFYEXEC( fjob );
- QCOMPARE( fjob->collections().count(), 0 );
- }
-
- // Manually create an Outbox collection.
- Collection outbox;
- {
- outbox.setName( QLatin1String( "my_outbox" ) );
- outbox.setParentCollection( res1 );
- outbox.addAttribute( new SpecialCollectionAttribute( "outbox" ) );
- CollectionCreateJob *cjob = new CollectionCreateJob( outbox, this );
- AKVERIFYEXEC( cjob );
- outbox = cjob->collection();
- }
-
- // Manually create a Drafts collection.
- Collection drafts;
- {
- drafts.setName( QLatin1String( "my_drafts" ) );
- drafts.setParentCollection( res1 );
- drafts.addAttribute( new SpecialCollectionAttribute( "drafts" ) );
- CollectionCreateJob *cjob = new CollectionCreateJob( drafts, this );
- AKVERIFYEXEC( cjob );
- drafts = cjob->collection();
- }
-
- // Manually create a non-LocalFolder collection.
- Collection intruder;
- {
- intruder.setName( QLatin1String( "intruder" ) );
- intruder.setParentCollection( res1 );
- CollectionCreateJob *cjob = new CollectionCreateJob( intruder, this );
- AKVERIFYEXEC( cjob );
- intruder = cjob->collection();
- }
-
- // Verify that the collections have been created properly.
- {
- CollectionFetchJob *fjob = new CollectionFetchJob( res1, CollectionFetchJob::Recursive, this );
- AKVERIFYEXEC( fjob );
- QCOMPARE( fjob->collections().count(), 3 );
- }
-
- // Test that ResourceScanJob finds everything correctly.
- ResourceScanJob *resjob = new ResourceScanJob( res1.resource(), Settings::self(), this );
- AKVERIFYEXEC( resjob );
- QCOMPARE( resjob->rootResourceCollection(), res1 );
- const Collection::List folders = resjob->specialCollections();
- QCOMPARE( folders.count(), 2 );
- QVERIFY( folders.contains( outbox ) );
- QVERIFY( folders.contains( drafts ) );
-
- // Clean up after ourselves.
- CollectionDeleteJob *djob = new CollectionDeleteJob( outbox, this );
- AKVERIFYEXEC( djob );
- djob = new CollectionDeleteJob( drafts, this );
- AKVERIFYEXEC( djob );
- djob = new CollectionDeleteJob( intruder, this );
- AKVERIFYEXEC( djob );
-}
+ // Verify that res1 has no collections.
+ {
+ CollectionFetchJob *fjob = new CollectionFetchJob(res1, CollectionFetchJob::Recursive, this);
+ AKVERIFYEXEC(fjob);
+ QCOMPARE(fjob->collections().count(), 0);
+ }
-void LocalFoldersTest::testDefaultResourceJob()
-{
- // Initially the defaut maildir does not exist.
- QVERIFY( !QFile::exists( KGlobal::dirs()->localxdgdatadir() + QLatin1String( "local-mail" ) ) );
-
- // Run the job.
- Collection maildirRoot;
- QString resourceId;
- {
- DefaultResourceJob *resjob = new DefaultResourceJob( Settings::self(), this );
- resjob->setDefaultResourceType( QLatin1String( "akonadi_maildir_resource" ) );
-
- QVariantMap options;
- options.insert( QLatin1String( "Name" ), i18nc( "local mail folder", "Local Folders" ) );
- options.insert( QLatin1String( "Path" ), QString( KGlobal::dirs()->localxdgdatadir() + \
QLatin1String( "local-mail" ) ) );
- resjob->setDefaultResourceOptions( options );
- resjob->setTypes( mDisplayNameMap.keys() );
- resjob->setNameForTypeMap( mDisplayNameMap );
- resjob->setIconForTypeMap( mIconNameMap );
-
- AKVERIFYEXEC( resjob );
- resourceId = resjob->resourceId();
- const Collection::List folders = resjob->specialCollections();
- QCOMPARE( folders.count(), 1 );
- maildirRoot = folders.first();
- QVERIFY( maildirRoot.hasAttribute<SpecialCollectionAttribute>() );
- QCOMPARE( maildirRoot.attribute<SpecialCollectionAttribute>()->collectionType(), QByteArray( \
"local-mail" ) );
- }
-
- // The maildir should exist now.
- QVERIFY( QFile::exists( KGlobal::dirs()->localxdgdatadir() + QLatin1String( "local-mail" ) ) );
-
- // Create a LocalFolder in the default resource.
- Collection outbox;
- {
- outbox.setName( QLatin1String( "outbox" ) );
- outbox.setParentCollection( maildirRoot );
- outbox.addAttribute( new SpecialCollectionAttribute( "outbox" ) );
- CollectionCreateJob *cjob = new CollectionCreateJob( outbox, this );
- AKVERIFYEXEC( cjob );
- outbox = cjob->collection();
+ // Manually create an Outbox collection.
+ Collection outbox;
+ {
+ outbox.setName(QLatin1String("my_outbox"));
+ outbox.setParentCollection(res1);
+ outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
+ CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
+ AKVERIFYEXEC(cjob);
+ outbox = cjob->collection();
+ }
- // Wait for the maildir resource to actually create the folder on disk...
- // (needed in testRecoverDefaultResource())
- QTest::qWait( 500 );
- }
-
- // Run the job again.
- {
- DefaultResourceJob *resjob = new DefaultResourceJob( Settings::self(), this );
- resjob->setDefaultResourceType( QLatin1String( "akonadi_maildir_resource" ) );
-
- QVariantMap options;
- options.insert( QLatin1String( "Name" ), i18nc( "local mail folder", "Local Folders" ) );
- options.insert( QLatin1String( "Path" ), QString( KGlobal::dirs()->localxdgdatadir() + \
QLatin1String( "local-mail" ) ) );
- resjob->setDefaultResourceOptions( options );
- resjob->setTypes( mDisplayNameMap.keys() );
- resjob->setNameForTypeMap( mDisplayNameMap );
- resjob->setIconForTypeMap( mIconNameMap );
-
- AKVERIFYEXEC( resjob );
- QCOMPARE( resourceId, resjob->resourceId() ); // Did not mistakenly create another resource.
+ // Manually create a Drafts collection.
+ Collection drafts;
+ {
+ drafts.setName(QLatin1String("my_drafts"));
+ drafts.setParentCollection(res1);
+ drafts.addAttribute(new SpecialCollectionAttribute("drafts"));
+ CollectionCreateJob *cjob = new CollectionCreateJob(drafts, this);
+ AKVERIFYEXEC(cjob);
+ drafts = cjob->collection();
+ }
+
+ // Manually create a non-LocalFolder collection.
+ Collection intruder;
+ {
+ intruder.setName(QLatin1String("intruder"));
+ intruder.setParentCollection(res1);
+ CollectionCreateJob *cjob = new CollectionCreateJob(intruder, this);
+ AKVERIFYEXEC(cjob);
+ intruder = cjob->collection();
+ }
+
+ // Verify that the collections have been created properly.
+ {
+ CollectionFetchJob *fjob = new CollectionFetchJob(res1, CollectionFetchJob::Recursive, this);
+ AKVERIFYEXEC(fjob);
+ QCOMPARE(fjob->collections().count(), 3);
+ }
+
+ // Test that ResourceScanJob finds everything correctly.
+ ResourceScanJob *resjob = new ResourceScanJob(res1.resource(), Settings::self(), this);
+ AKVERIFYEXEC(resjob);
+ QCOMPARE(resjob->rootResourceCollection(), res1);
const Collection::List folders = resjob->specialCollections();
- QCOMPARE( folders.count(), 2 );
- QVERIFY( folders.contains( maildirRoot ) );
- QVERIFY( folders.contains( outbox ) );
- }
+ QCOMPARE(folders.count(), 2);
+ QVERIFY(folders.contains(outbox));
+ QVERIFY(folders.contains(drafts));
+
+ // Clean up after ourselves.
+ CollectionDeleteJob *djob = new CollectionDeleteJob(outbox, this);
+ AKVERIFYEXEC(djob);
+ djob = new CollectionDeleteJob(drafts, this);
+ AKVERIFYEXEC(djob);
+ djob = new CollectionDeleteJob(intruder, this);
+ AKVERIFYEXEC(djob);
}
-void LocalFoldersTest::testRecoverDefaultResource()
+void LocalFoldersTest::testDefaultResourceJob()
{
- // The maildirs should exist (created in testDefaultResourceJob).
- const QString xdgPath = KGlobal::dirs()->localxdgdatadir();
- const QString rootPath = xdgPath + QLatin1String( "local-mail" );
- const QString outboxPath = xdgPath + QString::fromLatin1( ".%1.directory/%2" ) \
- .arg( QLatin1String( "local-mail" ) )
- .arg( QLatin1String( "outbox" ) );
- QVERIFY( QFile::exists( rootPath ) );
- QVERIFY( QFile::exists( outboxPath ) );
-
- // Kill the default resource.
- const QString oldResourceId = \
static_cast<SpecialCollections*>(SpecialMailCollections::self())->d->defaultResource().identifier();
- const AgentInstance resource = AgentManager::self()->instance( oldResourceId );
- QVERIFY( resource.isValid() );
- AgentManager::self()->removeInstance( resource );
- QTest::qWait( 100 );
-
- // Run the DefaultResourceJob now. It should recover the Root and Outbox folders
- // created in testDefaultResourceJob.
- {
- DefaultResourceJob *resjob = new DefaultResourceJob( Settings::self(), this );
- resjob->setDefaultResourceType( QLatin1String( "akonadi_maildir_resource" ) );
-
- QVariantMap options;
- options.insert( QLatin1String( "Name" ), i18nc( "local mail folder", "Local Folders" ) );
- options.insert( QLatin1String( "Path" ), QString(KGlobal::dirs()->localxdgdatadir() + QLatin1String( \
"local-mail" ) ) );
- resjob->setDefaultResourceOptions( options );
- resjob->setTypes( mDisplayNameMap.keys() );
- resjob->setNameForTypeMap( mDisplayNameMap );
- resjob->setIconForTypeMap( mIconNameMap );
-
- AKVERIFYEXEC( resjob );
- QVERIFY( resjob->resourceId() != oldResourceId ); // Created another resource.
- Collection::List folders = resjob->specialCollections();
- QCOMPARE( folders.count(), 2 );
-
- // Reorder the folders.
- if ( folders.first().parentCollection() != Collection::root() ) {
- folders.swap( 0, 1 );
+ // Initially the defaut maildir does not exist.
+ QVERIFY(!QFile::exists(KGlobal::dirs()->localxdgdatadir() + QLatin1String("local-mail")));
+
+ // Run the job.
+ Collection maildirRoot;
+ QString resourceId;
+ {
+ DefaultResourceJob *resjob = new DefaultResourceJob(Settings::self(), this);
+ resjob->setDefaultResourceType(QLatin1String("akonadi_maildir_resource"));
+
+ QVariantMap options;
+ options.insert(QLatin1String("Name"), i18nc("local mail folder", "Local Folders"));
+ options.insert(QLatin1String("Path"), QString(KGlobal::dirs()->localxdgdatadir() + \
QLatin1String("local-mail"))); + resjob->setDefaultResourceOptions(options);
+ resjob->setTypes(mDisplayNameMap.keys());
+ resjob->setNameForTypeMap(mDisplayNameMap);
+ resjob->setIconForTypeMap(mIconNameMap);
+
+ AKVERIFYEXEC(resjob);
+ resourceId = resjob->resourceId();
+ const Collection::List folders = resjob->specialCollections();
+ QCOMPARE(folders.count(), 1);
+ maildirRoot = folders.first();
+ QVERIFY(maildirRoot.hasAttribute<SpecialCollectionAttribute>());
+ QCOMPARE(maildirRoot.attribute<SpecialCollectionAttribute>()->collectionType(), \
QByteArray("local-mail")); }
- // The first folder should be the Root.
+ // The maildir should exist now.
+ QVERIFY(QFile::exists(KGlobal::dirs()->localxdgdatadir() + QLatin1String("local-mail")));
+
+ // Create a LocalFolder in the default resource.
+ Collection outbox;
{
- Collection col = folders[0];
- QCOMPARE( col.name(), QLatin1String( "Local Folders" ) );
- QVERIFY( col.hasAttribute<SpecialCollectionAttribute>() );
- QCOMPARE( col.attribute<SpecialCollectionAttribute>()->collectionType(), QByteArray( "local-mail" \
) ); + outbox.setName(QLatin1String("outbox"));
+ outbox.setParentCollection(maildirRoot);
+ outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
+ CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
+ AKVERIFYEXEC(cjob);
+ outbox = cjob->collection();
+
+ // Wait for the maildir resource to actually create the folder on disk...
+ // (needed in testRecoverDefaultResource())
+ QTest::qWait(500);
}
- // The second folder should be the Outbox.
+ // Run the job again.
{
- Collection col = folders[1];
- QCOMPARE( col.name(), QLatin1String( "outbox" ) );
- QVERIFY( col.hasAttribute<SpecialCollectionAttribute>() );
- QCOMPARE( col.attribute<SpecialCollectionAttribute>()->collectionType(), QByteArray( "outbox" ) );
+ DefaultResourceJob *resjob = new DefaultResourceJob(Settings::self(), this);
+ resjob->setDefaultResourceType(QLatin1String("akonadi_maildir_resource"));
+
+ QVariantMap options;
+ options.insert(QLatin1String("Name"), i18nc("local mail folder", "Local Folders"));
+ options.insert(QLatin1String("Path"), QString(KGlobal::dirs()->localxdgdatadir() + \
QLatin1String("local-mail"))); + resjob->setDefaultResourceOptions(options);
+ resjob->setTypes(mDisplayNameMap.keys());
+ resjob->setNameForTypeMap(mDisplayNameMap);
+ resjob->setIconForTypeMap(mIconNameMap);
+
+ AKVERIFYEXEC(resjob);
+ QCOMPARE(resourceId, resjob->resourceId()); // Did not mistakenly create another resource.
+ const Collection::List folders = resjob->specialCollections();
+ QCOMPARE(folders.count(), 2);
+ QVERIFY(folders.contains(maildirRoot));
+ QVERIFY(folders.contains(outbox));
}
- }
}
-QTEST_AKONADIMAIN( LocalFoldersTest, NoGUI )
+void LocalFoldersTest::testRecoverDefaultResource()
+{
+ // The maildirs should exist (created in testDefaultResourceJob).
+ const QString xdgPath = KGlobal::dirs()->localxdgdatadir();
+ const QString rootPath = xdgPath + QLatin1String("local-mail");
+ const QString outboxPath = xdgPath + QString::fromLatin1(".%1.directory/%2") \
+ .arg(QLatin1String("local-mail"))
+ .arg(QLatin1String("outbox"));
+ QVERIFY(QFile::exists(rootPath));
+ QVERIFY(QFile::exists(outboxPath));
+
+ // Kill the default resource.
+ const QString oldResourceId = static_cast<SpecialCollections \
*>(SpecialMailCollections::self())->d->defaultResource().identifier(); + const AgentInstance resource \
= AgentManager::self()->instance(oldResourceId); + QVERIFY(resource.isValid());
+ AgentManager::self()->removeInstance(resource);
+ QTest::qWait(100);
+
+ // Run the DefaultResourceJob now. It should recover the Root and Outbox folders
+ // created in testDefaultResourceJob.
+ {
+ DefaultResourceJob *resjob = new DefaultResourceJob(Settings::self(), this);
+ resjob->setDefaultResourceType(QLatin1String("akonadi_maildir_resource"));
+
+ QVariantMap options;
+ options.insert(QLatin1String("Name"), i18nc("local mail folder", "Local Folders"));
+ options.insert(QLatin1String("Path"), QString(KGlobal::dirs()->localxdgdatadir() + \
QLatin1String("local-mail"))); + resjob->setDefaultResourceOptions(options);
+ resjob->setTypes(mDisplayNameMap.keys());
+ resjob->setNameForTypeMap(mDisplayNameMap);
+ resjob->setIconForTypeMap(mIconNameMap);
+
+ AKVERIFYEXEC(resjob);
+ QVERIFY(resjob->resourceId() != oldResourceId); // Created another resource.
+ Collection::List folders = resjob->specialCollections();
+ QCOMPARE(folders.count(), 2);
+
+ // Reorder the folders.
+ if (folders.first().parentCollection() != Collection::root()) {
+ folders.swap(0, 1);
+ }
+
+ // The first folder should be the Root.
+ {
+ Collection col = folders[0];
+ QCOMPARE(col.name(), QLatin1String("Local Folders"));
+ QVERIFY(col.hasAttribute<SpecialCollectionAttribute>());
+ QCOMPARE(col.attribute<SpecialCollectionAttribute>()->collectionType(), \
QByteArray("local-mail")); + }
+
+ // The second folder should be the Outbox.
+ {
+ Collection col = folders[1];
+ QCOMPARE(col.name(), QLatin1String("outbox"));
+ QVERIFY(col.hasAttribute<SpecialCollectionAttribute>());
+ QCOMPARE(col.attribute<SpecialCollectionAttribute>()->collectionType(), \
QByteArray("outbox")); + }
+ }
+}
+QTEST_AKONADIMAIN(LocalFoldersTest, NoGUI)
diff --git a/akonadi/kmime/tests/localfolderstest.h b/akonadi/kmime/tests/localfolderstest.h
index 9d94f57..26479ae 100644
--- a/akonadi/kmime/tests/localfolderstest.h
+++ b/akonadi/kmime/tests/localfolderstest.h
@@ -30,9 +30,9 @@ namespace Akonadi
class LocalFoldersTest : public QObject
{
- Q_OBJECT
+ Q_OBJECT
- private Q_SLOTS:
+private Q_SLOTS:
void initTestCase();
// Tests for GetLockJob:
@@ -54,7 +54,7 @@ class LocalFoldersTest : public QObject
void testDefaultResourceJob();
void testRecoverDefaultResource();
- private:
+private:
QMap<QByteArray, QString> mDisplayNameMap;
QMap<QByteArray, QString> mIconNameMap;
};
diff --git a/akonadi/kmime/tests/racetest.cpp b/akonadi/kmime/tests/racetest.cpp
index d99ad7a..7ab61b1 100644
--- a/akonadi/kmime/tests/racetest.cpp
+++ b/akonadi/kmime/tests/racetest.cpp
@@ -41,131 +41,133 @@ using namespace Akonadi;
void RaceTest::initTestCase()
{
- QVERIFY( Control::start() );
- QTest::qWait( 1000 ); // give the MDA time to start so that we can kill it in peace
- qRegisterMetaType<QProcess::ProcessError>();
- qRegisterMetaType<QProcess::ExitStatus>();
+ QVERIFY(Control::start());
+ QTest::qWait(1000); // give the MDA time to start so that we can kill it in peace
+ qRegisterMetaType<QProcess::ProcessError>();
+ qRegisterMetaType<QProcess::ExitStatus>();
}
void RaceTest::testMultipleProcesses_data()
{
- QTest::addColumn<int>( "count" ); // how many processes to create
- QTest::addColumn<int>( "delay" ); // number of ms to wait before starting next process
-
- QTest::newRow( "1-nodelay" ) << 1 << 0;
- QTest::newRow( "2-nodelay" ) << 2 << 0;
- QTest::newRow( "5-nodelay" ) << 5 << 0;
- QTest::newRow( "10-nodelay" ) << 10 << 0;
- QTest::newRow( "2-shortdelay" ) << 2 << 100;
- QTest::newRow( "5-shortdelay" ) << 5 << 100;
- QTest::newRow( "10-shortdelay" ) << 10 << 100;
- QTest::newRow( "2-longdelay" ) << 2 << 1000;
- QTest::newRow( "5-longdelay" ) << 5 << 1000;
- QTest::newRow( "5-verylongdelay" ) << 5 << 4000;
- Q_ASSERT( 10 <= MAXCOUNT );
+ QTest::addColumn<int>("count"); // how many processes to create
+ QTest::addColumn<int>("delay"); // number of ms to wait before starting next process
+
+ QTest::newRow("1-nodelay") << 1 << 0;
+ QTest::newRow("2-nodelay") << 2 << 0;
+ QTest::newRow("5-nodelay") << 5 << 0;
+ QTest::newRow("10-nodelay") << 10 << 0;
+ QTest::newRow("2-shortdelay") << 2 << 100;
+ QTest::newRow("5-shortdelay") << 5 << 100;
+ QTest::newRow("10-shortdelay") << 10 << 100;
+ QTest::newRow("2-longdelay") << 2 << 1000;
+ QTest::newRow("5-longdelay") << 5 << 1000;
+ QTest::newRow("5-verylongdelay") << 5 << 4000;
+ Q_ASSERT(10 <= MAXCOUNT);
}
void RaceTest::testMultipleProcesses()
{
- QFETCH( int, count );
- QFETCH( int, delay );
-
- killZombies();
-
- // Remove all maildir instances (at most 1 really) and MDAs (which use LocalFolders).
- // (This is to ensure that one of *our* instances is the main instance.)
- AgentType::List types;
- types.append( AgentManager::self()->type( QLatin1String( "akonadi_maildir_resource" ) ) );
- types.append( AgentManager::self()->type( QLatin1String( "akonadi_maildispatcher_agent" ) ) );
- AgentInstance::List instances = AgentManager::self()->instances();
- foreach( const AgentInstance &instance, instances ) {
- if ( types.contains( instance.type() ) ) {
- kDebug() << "Removing instance of type" << instance.type().identifier();
- AgentManager::self()->removeInstance( instance );
- QTest::kWaitForSignal( AgentManager::self(), SIGNAL(instanceRemoved(Akonadi::AgentInstance)) );
+ QFETCH(int, count);
+ QFETCH(int, delay);
+
+ killZombies();
+
+ // Remove all maildir instances (at most 1 really) and MDAs (which use LocalFolders).
+ // (This is to ensure that one of *our* instances is the main instance.)
+ AgentType::List types;
+ types.append(AgentManager::self()->type(QLatin1String("akonadi_maildir_resource")));
+ types.append(AgentManager::self()->type(QLatin1String("akonadi_maildispatcher_agent")));
+ AgentInstance::List instances = AgentManager::self()->instances();
+ foreach (const AgentInstance &instance, instances) {
+ if (types.contains(instance.type())) {
+ kDebug() << "Removing instance of type" << instance.type().identifier();
+ AgentManager::self()->removeInstance(instance);
+ QTest::kWaitForSignal(AgentManager::self(), \
SIGNAL(instanceRemoved(Akonadi::AgentInstance))); + }
}
- }
- instances = AgentManager::self()->instances();
- foreach( const AgentInstance &instance, instances ) {
- QVERIFY( !types.contains( instance.type() ) );
- }
-
- QSignalSpy *errorSpy[ MAXCOUNT ];
- QSignalSpy *finishedSpy[ MAXCOUNT ];
- for ( int i = 0; i < count; i++ ) {
- kDebug() << "Starting process" << i + 1 << "of" << count;
- KProcess *proc = new KProcess;
- procs.append( proc );
- proc->setProgram( REQUESTER_EXE );
- errorSpy[i] = new QSignalSpy( proc, SIGNAL(error(QProcess::ProcessError)) );
- finishedSpy[i] = new QSignalSpy( proc, SIGNAL(finished(int,QProcess::ExitStatus)) );
- proc->start();
- QTest::qWait( delay );
- }
- kDebug() << "Launched" << count << "processes.";
-
- int seconds = 0;
- int error, finished;
- while( true ) {
- seconds++;
- QTest::qWait( 1000 );
-
- error = 0;
- finished = 0;
- for ( int i = 0; i < count; i++ ) {
- if ( errorSpy[i]->count() > 0 )
- error++;
- if ( finishedSpy[i]->count() > 0 )
- finished++;
+ instances = AgentManager::self()->instances();
+ foreach (const AgentInstance &instance, instances) {
+ QVERIFY(!types.contains(instance.type()));
}
- kDebug() << seconds << "seconds elapsed." << error << "processes error'd,"
- << finished << "processes finished.";
- if ( error + finished >= count )
- break;
+ QSignalSpy *errorSpy[MAXCOUNT];
+ QSignalSpy *finishedSpy[MAXCOUNT];
+ for (int i = 0; i < count; i++) {
+ kDebug() << "Starting process" << i + 1 << "of" << count;
+ KProcess *proc = new KProcess;
+ procs.append(proc);
+ proc->setProgram(REQUESTER_EXE);
+ errorSpy[i] = new QSignalSpy(proc, SIGNAL(error(QProcess::ProcessError)));
+ finishedSpy[i] = new QSignalSpy(proc, SIGNAL(finished(int,QProcess::ExitStatus)));
+ proc->start();
+ QTest::qWait(delay);
+ }
+ kDebug() << "Launched" << count << "processes.";
+
+ int seconds = 0;
+ int error, finished;
+ while (true) {
+ seconds++;
+ QTest::qWait(1000);
+
+ error = 0;
+ finished = 0;
+ for (int i = 0; i < count; i++) {
+ if (errorSpy[i]->count() > 0) {
+ error++;
+ }
+ if (finishedSpy[i]->count() > 0) {
+ finished++;
+ }
+ }
+ kDebug() << seconds << "seconds elapsed." << error << "processes error'd,"
+ << finished << "processes finished.";
+
+ if (error + finished >= count) {
+ break;
+ }
#if 0
- if ( seconds >= TIMEOUT_SECONDS ) {
- kDebug() << "Timeout, gdb master!";
- QTest::qWait( 1000*1000 );
- }
+ if (seconds >= TIMEOUT_SECONDS) {
+ kDebug() << "Timeout, gdb master!";
+ QTest::qWait(1000 * 1000);
+ }
#endif
- QVERIFY2( seconds < TIMEOUT_SECONDS, "Timeout" );
- }
-
- QCOMPARE( error, 0 );
- QCOMPARE( finished, count );
- for ( int i = 0; i < count; i++ ) {
- kDebug() << "Checking exit status of process" << i + 1 << "of" << count;
- QCOMPARE( finishedSpy[i]->count(), 1 );
- QList<QVariant> args = finishedSpy[i]->takeFirst();
- if ( args[0].toInt() != 2 ) {
- kDebug() << "Exit status" << args[0].toInt() << ", expected 2. Timeout, gdb master!";
- QTest::qWait( 1000*1000 );
+ QVERIFY2(seconds < TIMEOUT_SECONDS, "Timeout");
+ }
+
+ QCOMPARE(error, 0);
+ QCOMPARE(finished, count);
+ for (int i = 0; i < count; i++) {
+ kDebug() << "Checking exit status of process" << i + 1 << "of" << count;
+ QCOMPARE(finishedSpy[i]->count(), 1);
+ QList<QVariant> args = finishedSpy[i]->takeFirst();
+ if (args[0].toInt() != 2) {
+ kDebug() << "Exit status" << args[0].toInt() << ", expected 2. Timeout, gdb master!";
+ QTest::qWait(1000 * 1000);
+ }
+ QCOMPARE(args[0].toInt(), 2);
}
- QCOMPARE( args[0].toInt(), 2 );
- }
-
- while( !procs.isEmpty() ) {
- KProcess *proc = procs.takeFirst();
- QCOMPARE( proc->exitStatus(), QProcess::NormalExit );
- QCOMPARE( proc->exitCode(), 2 );
- delete proc;
- }
- QVERIFY( procs.isEmpty() );
+
+ while (!procs.isEmpty()) {
+ KProcess *proc = procs.takeFirst();
+ QCOMPARE(proc->exitStatus(), QProcess::NormalExit);
+ QCOMPARE(proc->exitCode(), 2);
+ delete proc;
+ }
+ QVERIFY(procs.isEmpty());
}
void RaceTest::killZombies()
{
- while( !procs.isEmpty() ) {
- // These processes probably hung, and will never recover, so we need to kill them.
- // (This happens if the last test failed.)
- kDebug() << "Killing zombies from the past.";
- KProcess *proc = procs.takeFirst();
- proc->kill();
- proc->deleteLater();
- }
+ while (!procs.isEmpty()) {
+ // These processes probably hung, and will never recover, so we need to kill them.
+ // (This happens if the last test failed.)
+ kDebug() << "Killing zombies from the past.";
+ KProcess *proc = procs.takeFirst();
+ proc->kill();
+ proc->deleteLater();
+ }
}
-QTEST_AKONADIMAIN( RaceTest, NoGUI )
-
+QTEST_AKONADIMAIN(RaceTest, NoGUI)
diff --git a/akonadi/kmime/tests/racetest.h b/akonadi/kmime/tests/racetest.h
index ff419e8..7be301d 100644
--- a/akonadi/kmime/tests/racetest.h
+++ b/akonadi/kmime/tests/racetest.h
@@ -33,16 +33,16 @@ class KProcess;
*/
class RaceTest : public QObject
{
- Q_OBJECT
+ Q_OBJECT
- private Q_SLOTS:
+private Q_SLOTS:
void initTestCase();
void testMultipleProcesses_data();
void testMultipleProcesses();
void killZombies();
- private:
- QList<KProcess*> procs;
+private:
+ QList<KProcess *> procs;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic