CMakeLists.txt findkolabfoldersjob.cpp kolabformatupgradejob.cpp upgradetooltests.cpp upgradetooltests.h upgradeutilities.cpp

Christian Mollekopf mollekopf at kolabsys.com
Fri Jun 1 12:17:43 CEST 2012


 CMakeLists.txt            |   34 +++++++------
 findkolabfoldersjob.cpp   |    2 
 kolabformatupgradejob.cpp |    2 
 upgradetooltests.cpp      |  117 +++++++++++++++++++++++++++++++++++++++++++++-
 upgradetooltests.h        |    2 
 upgradeutilities.cpp      |    8 +--
 6 files changed, 141 insertions(+), 24 deletions(-)

New commits:
commit 1c4132779685b2d316a3ed79b21c5c59b2ca9ad8
Author: Christian Mollekopf <mollekopf at kolabsys.com>
Date:   Fri Jun 1 12:17:38 2012 +0200

    Compile with the latest libkolab/libkolabxml, tests.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 59098cc..f682cb4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,22 +2,24 @@ project (upgradetool)
 
 cmake_minimum_required(VERSION 2.6)
 
-#find_path(KOLAB_DATA_DIR cmake/modules/FindKolabInternal.cmake HINTS ${_data_DIR} /usr/local/share/apps/)
- 
-message("${KOLAB_DATA_DIR} ${_data_DIR}")
-set(CMAKE_MODULE_PATH "${KOLAB_DATA_DIR}/cmake/modules/")
-message("${CMAKE_MODULE_PATH}")
-#find_package(KolabInternal REQUIRED)
-find_package(KolabKDELibraries REQUIRED)
-find_package(KolabLibraries REQUIRED)
-
-
-find_package(Qt4 REQUIRED)
-find_package(KDE4 REQUIRED)
-
-include_directories(${QT_INCLUDES} ./ ${KDEPIMLIBS_INCLUDE_DIRS} ${KOLAB_INCLUDE_DIR})
-
-set(COMMON_DEPENDENCIES ${Kolab_LIBRARIES} ${KCALCORE_LIBRARY} ${KDE4_KDECORE_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY} ${KMIME_LIBRARY} ${QT_GUI_LIBRARY} ${KABC_LIBRARY})
+find_package(Qt4 4.7.0 REQUIRED)
+find_package(KDE4 4.8 REQUIRED)
+find_package(KdepimLibs 4.8 REQUIRED)
+find_package(Libkolab 0.3 REQUIRED)
+find_package(Libkolabxml 0.6 REQUIRED) #We should probably add the Libkolabxml_INCLUDES to Libkolab_INCLUDES if we have libkolabxml headers in the installed libkolab headers
+
+include_directories(${QT_INCLUDES} ./ ${KDEPIMLIBS_INCLUDE_DIRS} ${Libkolab_INCLUDES} ${Libkolabxml_INCLUDES})
+
+set(COMMON_DEPENDENCIES
+    ${Libkolab_LIBRARIES}
+    ${QT_QTCORE_LIBRARY}
+    ${QT_QTXML_LIBRARY}
+    ${QT_GUI_LIBRARY}
+    ${KDE4_KDECORE_LIBRARY}
+    ${KDEPIMLIBS_KCALCORE_LIBS}
+    ${KDEPIMLIBS_KABC_LIBS}
+    ${KDEPIMLIBS_KMIME_LIBS}
+)
 
 QT4_AUTOMOC(imapupgradejob.cpp findkolabfoldersjob.cpp kolabformatupgradejob.cpp sequentialcompositejob.cpp messagemodifyjob.cpp)
 add_executable(upgradetool imapupgradejob.cpp findkolabfoldersjob.cpp kolabformatupgradejob.cpp sequentialcompositejob.cpp messagemodifyjob.cpp upgradetool.cpp upgradeutilities.cpp ${CMAKE_CURRENT_BINARY_DIR}/${BINDINGSTEST_MOC})
diff --git a/findkolabfoldersjob.cpp b/findkolabfoldersjob.cpp
index 8d29295..9fdd191 100644
--- a/findkolabfoldersjob.cpp
+++ b/findkolabfoldersjob.cpp
@@ -24,7 +24,7 @@
 #include <kimap/getmetadatajob.h>
 #include <KDE/KDebug>
 #include <boost/concept_check.hpp>
-#include <kolab/kolabdefinitions.h>
+#include <kolabdefinitions.h>
 
 FindKolabFoldersJob::FindKolabFoldersJob(const QStringList &serverCapabilities, const QList<KIMAP::MailBoxDescriptor> &pN, const QList<KIMAP::MailBoxDescriptor> &excluded, KIMAP::Session* session, QObject* parent)
 : KJob(parent),
diff --git a/kolabformatupgradejob.cpp b/kolabformatupgradejob.cpp
index 628bc2b..f1b6994 100644
--- a/kolabformatupgradejob.cpp
+++ b/kolabformatupgradejob.cpp
@@ -22,7 +22,7 @@
 #include "upgradeutilities.h"
 #include "sequentialcompositejob.h"
 #include "messagemodifyjob.h"
-#include <kolab/kolabobject.h>
+#include <kolabobject.h>
 
 #include <kimap/selectjob.h>
 #include <kimap/fetchjob.h>
diff --git a/upgradetooltests.cpp b/upgradetooltests.cpp
index e1cba10..15242f1 100644
--- a/upgradetooltests.cpp
+++ b/upgradetooltests.cpp
@@ -1,17 +1,130 @@
 #include "upgradetooltests.h"
 #include "upgradeutilities.h"
-#include <kolab/kolabformat.h>
+#include <kolabformat.h>
+#include <kolabobject.h>
 #include <kdebug.h>
+#include <kmime/kmime_message.h>
+#include <kcalcore/icalformat.h>
+
+void showDiff(const QString &expected, const QString &converted)
+{
+    if (expected.isEmpty() || converted.isEmpty()) {
+        kDebug() << "files are emtpy";
+        return;
+    }
+    if (expected == converted) {
+        return;
+    }
+    QTemporaryFile realFile("realFile");
+    QTemporaryFile convertedFile("expectedFile");
+    if (realFile.open() && convertedFile.open()) {
+        realFile.write(expected.toLatin1());
+        convertedFile.write(converted.toLatin1());
+        realFile.close();
+        convertedFile.close();
+        QProcess::execute("kompare", QStringList() << "-c" << realFile.fileName() << convertedFile.fileName());
+    }
+    
+    //         qDebug() << "EXPECTED: " << expected;
+    //         qDebug() << "CONVERTED: " << converted;
+}
 
 void UpgradeToolTests::testConvertEvent()
 {
-    QFile file( "../../testfiles/v2/event/complex.ics.mime" );
+    QFile file( "../testfiles/v2/event/complex.ics.mime" );
     file.open( QFile::ReadOnly );
     const QByteArray data = file.readAll();
     QVERIFY( !data.isEmpty() );
     kDebug() << Kolab::Upgrade::upgradeMime(data);
 }
 
+void UpgradeToolTests::testEventUpgrade()
+{
+    QFile file( "../testfiles/v2/event/complex.ics.mime" );
+    file.open( QFile::ReadOnly );
+    const QByteArray data = file.readAll();
+    QVERIFY( !data.isEmpty() );
+    
+    //load KCalCore V2
+    KMime::Message::Ptr msg = KMime::Message::Ptr(new KMime::Message);
+    msg->setContent( data );
+    msg->parse();
+    msg->content(KMime::ContentIndex());
+    
+    Kolab::KolabObjectReader reader;
+    
+    KMime::Message::Ptr message;
+    reader.parseMimeMessage(msg);
+    const KCalCore::Event::Ptr &v2result = reader.getEvent();
+    QVERIFY(v2result);
+    
+    //write KCalCore V3
+    message = Kolab::KolabObjectWriter::writeEvent(v2result);
+    
+    kDebug() << message;
+    
+    //load KCalCore V3
+    Kolab::KolabObjectReader reader2;
+    QCOMPARE(reader2.parseMimeMessage(message), Kolab::EventObject);
+    const KCalCore::Event::Ptr &v3result = reader2.getEvent();
+    QVERIFY(v3result);
+    
+    
+    kDebug() <<"--------------------------------------------------------";
+    KCalCore::ICalFormat format;
+    if ( *(v2result.data()) != *(v3result.data()) ) {
+        showDiff(format.toString( v2result.dynamicCast<KCalCore::Incidence>() ), format.toString( v3result.dynamicCast<KCalCore::Incidence>() ));
+//         qDebug() << "V2: " << format.toString( v2result.dynamicCast<KCalCore::Incidence>() );
+//         qDebug() << "V3: " << format.toString( v3result.dynamicCast<KCalCore::Incidence>() );
+    }
+    QVERIFY( *(v2result.data()) ==  *(v3result.data()) );
+    kDebug() <<"--------------------------------------------------------";
+    //Compare
+    QCOMPARE(*v2result, *v3result);
+}
+
+void UpgradeToolTests::testConvertContact()
+{
+    QFile file( "../testfiles/v2/contacts/complex.vcf.mime" );
+    file.open( QFile::ReadOnly );
+    const QByteArray data = file.readAll();
+    QVERIFY( !data.isEmpty() );
+//     kDebug() << Kolab::Upgrade::upgradeMime(data);
+}
+
+// void UpgradeToolTests::testContactUpgrade()
+// {
+//     QFile file( "../testfiles/v2/event/complex.ics.mime" );
+//     file.open( QFile::ReadOnly );
+//     const QByteArray data = file.readAll();
+//     QVERIFY( !data.isEmpty() );
+//     
+//     //load KCalCore V2
+//     KMime::Message::Ptr msg = KMime::Message::Ptr(new KMime::Message);
+//     msg->setContent( data );
+//     msg->parse();
+//     msg->content(KMime::ContentIndex());
+//     
+//     Kolab::KolabObjectReader reader;
+//     
+//     KMime::Message::Ptr message;
+//     reader.parseMimeMessage(msg);
+//     const KABC::Addressee &v2result = reader.getContact();
+//     
+//     //write KCalCore V3
+//     message = Kolab::KolabObjectWriter::writeContact(v2result);
+//     
+//     //load KCalCore V3
+//     Kolab::KolabObjectReader reader2;
+//     reader2.parseMimeMessage(message);
+//     const KABC::Addressee &v3result = reader2.getContact();
+//     
+//     //Compare
+//     QCOMPARE(v2result, v3result);
+//     
+// }
+
+
 
 QTEST_MAIN( UpgradeToolTests )
 
diff --git a/upgradetooltests.h b/upgradetooltests.h
index 4769660..d2fb351 100644
--- a/upgradetooltests.h
+++ b/upgradetooltests.h
@@ -12,6 +12,8 @@ class UpgradeToolTests : public QObject
 private slots:
     
     void testConvertEvent();
+    void testEventUpgrade();
+    void testConvertContact();
 
 };
 
diff --git a/upgradeutilities.cpp b/upgradeutilities.cpp
index f58cbcc..5408cb3 100644
--- a/upgradeutilities.cpp
+++ b/upgradeutilities.cpp
@@ -17,12 +17,12 @@
 
 
 #include "upgradeutilities.h"
-#include <kolab/kolabobject.h>
-#include <kolab/kcalconversion.h>
+#include <kolabobject.h>
+#include <kcalconversion.h>
 #include <kdebug.h>
 
-#include <kolab/kolabevent.h>
-#include <kolab/kolabformat.h>
+#include <kolabevent.h>
+#include <kolabformat.h>
 
 namespace Kolab {
     namespace Upgrade {





More information about the commits mailing list