[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdepim-runtime] resources/maildir/libmaildir: Add flags reading
From: Till Adam <till () kdab ! com>
Date: 2011-09-17 17:41:48
Message-ID: 20110917174148.C6296A607A () git ! kde ! org
[Download RAW message or body]
Git commit 0db9facca6b4ea3a0f6d7d6111feb842d2524973 by Till Adam.
Committed on 17/09/2011 at 19:09.
Pushed by tilladam into branch 'master'.
Add flags reading test and an empty one for writing.
M +2 -2 resources/maildir/libmaildir/maildir.cpp
M +63 -0 resources/maildir/libmaildir/tests/testmaildir.cpp
M +2 -0 resources/maildir/libmaildir/tests/testmaildir.h
http://commits.kde.org/kdepim-runtime/0db9facca6b4ea3a0f6d7d6111feb842d2524973
diff --git a/resources/maildir/libmaildir/maildir.cpp \
b/resources/maildir/libmaildir/maildir.cpp index 690f0dc..d5beb16 100644
--- a/resources/maildir/libmaildir/maildir.cpp
+++ b/resources/maildir/libmaildir/maildir.cpp
@@ -609,7 +609,7 @@ QString Maildir::changeEntryFlags(const QString& key, const \
Akonadi::Item::Flags Akonadi::Item::Flags Maildir::readEntryFlags(const QString& key) const
{
Akonadi::Item::Flags flags;
-
+
const QRegExp rx = *(statusSeparatorRx());
const int index = key.indexOf( rx );
if ( index != -1 ) {
@@ -625,7 +625,7 @@ Akonadi::Item::Flags Maildir::readEntryFlags(const QString& key) const
flags << Akonadi::MessageFlags::Flagged;
}
}
-
+
return flags;
}
diff --git a/resources/maildir/libmaildir/tests/testmaildir.cpp \
b/resources/maildir/libmaildir/tests/testmaildir.cpp index b55b96f..d3a8c40 100644
--- a/resources/maildir/libmaildir/tests/testmaildir.cpp
+++ b/resources/maildir/libmaildir/tests/testmaildir.cpp
@@ -30,6 +30,7 @@
#include <qtest_kde.h>
#include <kstandarddirs.h>
#include <ktempdir.h>
+#include <akonadi/kmime/messageflags.h>
QTEST_KDEMAIN( MaildirTest, NoGUI )
@@ -344,3 +345,65 @@ void MaildirTest::cleanupTestCase()
m_temp->unlink();
}
+void MaildirTest::testMaildirFlagsReading()
+{
+ initTestCase();
+ QFile file;
+ const QStringList markers = QStringList() << "P" << "R" << "S" << "F" << "FPRS";
+ QDir::setCurrent( m_temp->name() + QLatin1Char( '/' ) + "cur" );
+ for ( int i=0; i<6 ; i++) {
+ QString fileName = QLatin1String( "testmail-" ) + QString::number(i);
+ if ( i < 5 ) {
+ fileName +=
+ #ifdef Q_OS_WIN
+ "!2,"
+ #else
+ ":2,"
+ #endif
+ + markers[i];
+ }
+ file.setFileName( fileName );
+ file.open( QIODevice::WriteOnly );
+ file.write( testString );
+ file.flush();
+ file.close();
+ }
+
+ Maildir d( m_temp->name() );
+ QStringList entries = d.entryList();
+ QCOMPARE( entries.count(), 6 );
+
+ Akonadi::Item::Flags flags = d.readEntryFlags( entries[0] );
+ QCOMPARE( flags.count(), 1);
+ QVERIFY( flags.contains( Akonadi::MessageFlags::Forwarded ) );
+
+ flags = d.readEntryFlags( entries[1] );
+ QCOMPARE( flags.count(), 1);
+ QVERIFY( flags.contains( Akonadi::MessageFlags::Replied ) );
+
+ flags = d.readEntryFlags( entries[2] );
+ QCOMPARE( flags.count(), 1);
+ QVERIFY( flags.contains( Akonadi::MessageFlags::Seen ) );
+
+ flags = d.readEntryFlags( entries[3] );
+ QCOMPARE( flags.count(), 1);
+ QVERIFY( flags.contains( Akonadi::MessageFlags::Flagged ) );
+
+ flags = d.readEntryFlags( entries[4] );
+ QCOMPARE( flags.count(), 4);
+ QVERIFY( flags.contains( Akonadi::MessageFlags::Forwarded ) );
+ QVERIFY( flags.contains( Akonadi::MessageFlags::Replied ) );
+ QVERIFY( flags.contains( Akonadi::MessageFlags::Seen ) );
+ QVERIFY( flags.contains( Akonadi::MessageFlags::Flagged ) );
+
+ flags = d.readEntryFlags( entries[5] );
+ QVERIFY( flags.isEmpty() );
+ cleanupTestCase();
+}
+
+void MaildirTest::testMaildirFlagsWriting()
+{
+ initTestCase();
+
+ cleanupTestCase();
+}
diff --git a/resources/maildir/libmaildir/tests/testmaildir.h \
b/resources/maildir/libmaildir/tests/testmaildir.h index 5811542..12c1c59 100644
--- a/resources/maildir/libmaildir/tests/testmaildir.h
+++ b/resources/maildir/libmaildir/tests/testmaildir.h
@@ -44,6 +44,8 @@ class MaildirTest : public QObject
void testMaildirRemoveSubfolder();
void testMaildirRename();
void testMaildirMoveTo();
+ void testMaildirFlagsReading();
+ void testMaildirFlagsWriting();
void cleanupTestCase();
private:
void fillDirectory(const QString &name, int limit );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic