[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