[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdepim/akonadi/resources/mbox/libmbox/tests
From:       Bertjan Broeksema <b.broeksema () home ! nl>
Date:       2009-06-19 9:24:02
Message-ID: 1245403442.661783.19788.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 983820 by bbroeksema:

Add some tests for the entryList method.


 M  +51 -7     mboxtest.cpp  
 M  +2 -0      mboxtest.h  


--- trunk/KDE/kdepim/akonadi/resources/mbox/libmbox/tests/mboxtest.cpp #983819:983820
@@ -45,6 +45,13 @@
   return mTempDir->name() + testLockFile;
 }
 
+void MboxTest::removeTestFile()
+{
+  QFile file( fileName() );
+  file.remove();
+  QVERIFY( !file.exists() );
+}
+
 void MboxTest::initTestCase()
 {
   mTempDir = new KTempDir( KStandardDirs::locateLocal("tmp", testDir ) );
@@ -171,9 +178,7 @@
 
 void MboxTest::testSaveAndLoad()
 {
-  QFile file( fileName() );
-  file.remove();
-  QVERIFY( !file.exists() );
+  removeTestFile();
 
   MBox mbox;
   QVERIFY( mbox.setLockType( MBox::None ) );
@@ -185,7 +190,7 @@
   QCOMPARE( infos1.size(), 2 );
 
   QVERIFY( mbox.save() );
-  QVERIFY( file.exists() );
+  QVERIFY( QFileInfo( fileName() ).exists() );
 
   QList<MsgInfo> infos2 = mbox.entryList();
   QCOMPARE( infos2.size(), 2 );
@@ -215,9 +220,7 @@
 void MboxTest::testBlankLines()
 {
   for ( int i = 0; i < 5; ++i ) {
-    QFile file( fileName() );
-    file.remove();
-    QVERIFY( !file.exists() );
+    removeTestFile();
 
     MessagePtr mail = MessagePtr( new KMime::Message );
     mail->setContent( KMime::CRLFtoLF( sEntry1 + QByteArray( i, '\n' ) ) );
@@ -245,6 +248,47 @@
   }
 }
 
+void MboxTest::testEntries()
+{
+  removeTestFile();
+
+  MBox mbox1;
+  QVERIFY( mbox1.setLockType( MBox::None ) );
+  QVERIFY( mbox1.load( fileName() ) );
+  mbox1.appendEntry( mMail1 );
+  mbox1.appendEntry( mMail2 );
+  mbox1.appendEntry( mMail1 );
+
+  QList<MsgInfo> infos = mbox1.entryList();
+  QCOMPARE( infos.size() , 3 );
+
+  QSet<quint64> deletedEntries;
+  deletedEntries << infos.at( 0 ).first;
+
+  QList<MsgInfo> infos2 = mbox1.entryList( deletedEntries );
+  QCOMPARE( infos2.size() , 2 );
+  QVERIFY( infos2.first().first != infos.first().first );
+  QVERIFY( infos2.last().first != infos.first().first );
+
+  deletedEntries << infos.at( 1 ).first;
+  infos2 = mbox1.entryList( deletedEntries );
+
+  QCOMPARE( infos2.size() , 1 );
+  QVERIFY( infos2.first().first != infos.at( 0 ).first );
+  QVERIFY( infos2.first().first != infos.at( 1 ).first );
+
+  deletedEntries << infos.at( 2 ).first;
+  infos2 = mbox1.entryList( deletedEntries );
+  QCOMPARE( infos2.size() , 0 );
+
+  QVERIFY( !deletedEntries.contains( 10 ) ); // some random offset
+  infos2 = mbox1.entryList( QSet<quint64>() << 10 );
+  QCOMPARE( infos2.size() , 3 );
+  QCOMPARE( infos2.at( 0 ).first, infos.at( 0 ).first );
+  QCOMPARE( infos2.at( 1 ).first, infos.at( 1 ).first );
+  QCOMPARE( infos2.at( 2 ).first, infos.at( 2 ).first );
+}
+
 void MboxTest::cleanupTestCase()
 {
   mTempDir->unlink();
--- trunk/KDE/kdepim/akonadi/resources/mbox/libmbox/tests/mboxtest.h #983819:983820
@@ -38,10 +38,12 @@
     void testSaveAndLoad();
     void testBlankLines();
     void cleanupTestCase();
+    void testEntries();
 
   private:
     QString fileName();
     QString lockFileName();
+    void removeTestFile();
 
   private:
     KTempDir *mTempDir;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic