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