Hello community, here is the log from the commit of package libkolabxml for openSUSE:Factory checked in at 2015-04-06 00:23:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libkolabxml (Old) and /work/SRC/openSUSE:Factory/.libkolabxml.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libkolabxml" Changes: -------- --- /work/SRC/openSUSE:Factory/libkolabxml/libkolabxml.changes 2014-12-16 14:50:55.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libkolabxml.new/libkolabxml.changes 2015-04-06 00:23:58.000000000 +0200 @@ -1,0 +2,21 @@ +Wed Apr 1 16:59:03 UTC 2015 - [email protected] + +- New upstream release 1.1.0 +- Drop patch (upstream inclusion): + - libkolabxml-1.0.3_make_version_attribute_not_a_fixed_value.patch + +------------------------------------------------------------------- +Sat Mar 28 12:23:16 UTC 2015 - [email protected] + +- Add libkolabxml-1.0.3_make_version_attribute_not_a_fixed_value.patch: + Instead of a fixed value, we only use a default value. + Fixes problems where objects created with version string '3.0dev' + can not be fetched/displayed. +- Convert %with_java to %bcond_without java + +------------------------------------------------------------------- +Mon Mar 23 08:08:25 UTC 2015 - [email protected] + +- Allow building without mono bindings + +------------------------------------------------------------------- Old: ---- libkolabxml-1.0.3.tar.gz New: ---- libkolabxml-1.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libkolabxml.spec ++++++ --- /var/tmp/diff_new_pack.92kwup/_old 2015-04-06 00:23:58.000000000 +0200 +++ /var/tmp/diff_new_pack.92kwup/_new 2015-04-06 00:23:58.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package libkolabxml # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,20 +15,18 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -%define with_java 1 -%define with_mono 1 -%if 0%{?suse_version} == 1315 -%define with_mono 0 -%endif + %if 0%{?suse_version} < 1220 -%define with_java 0 +%define _without_java 1 %endif +%bcond_without java +%bcond_without mono %global php_extdir %{_libdir}/php5/extensions %global php_confdir %{_sysconfdir}/php5/conf.d %define libname %{name}1 Name: libkolabxml -Version: 1.0.3 +Version: 1.1.0 Release: 0 Summary: Kolab XML Format Schema Definitions Library License: LGPL-3.0+ @@ -42,14 +40,14 @@ BuildRequires: boost-devel BuildRequires: cmake >= 2.6 BuildRequires: gcc-c++ -%if 0%{?with_java} +%if %{with java} BuildRequires: gcc-java BuildRequires: java-openjdk %endif BuildRequires: libcurl-devel BuildRequires: libqt4-devel BuildRequires: libxerces-c-devel -%if 0%{?with_mono} +%if %{with mono} BuildRequires: mono-devel %endif BuildRequires: php-devel >= 5.3 @@ -108,7 +106,6 @@ - Canonical storage format - Supports Todos/Events/Journals/Contacts/Distribution Lists/Notes/Configurations -%if 0%{?with_java} %package -n java-%{libname} Summary: Java bindings for %{name} Group: Development/Languages/Java @@ -128,9 +125,7 @@ - Supports Todos/Events/Journals/Contacts/Distribution Lists/Notes/Configurations This package provides the java bindings for Libkolabxml -%endif -%if 0%{?with_mono} %package -n mono-%{libname} Summary: Mono (C#) bindings for %{name} Group: Development/Languages/Mono @@ -150,7 +145,6 @@ - Supports Todos/Events/Journals/Contacts/Distribution Lists/Notes/Configurations This package provides the mono (C#) bindings for Libkolabxml -%endif %package -n php-%{libname} Summary: PHP bindings for %{name} @@ -216,12 +210,12 @@ # no-undefined does not work as the php bindings are "magic" %cmake \ -DCMAKE_EXE_LINKER_FLAGS=-Wl,--as-needed -DCMAKE_MODULE_LINKER_FLAGS=-Wl,--as-needed -DCMAKE_SHARED_LINKER_FLAGS=-Wl,--as-needed \ -%if 0%{?with_java} +%if %{with java} -DJAVA_BINDINGS=TRUE -DJAVA_INSTALL_DIR=%{_jnidir} \ %endif -DPHP_BINDINGS=TRUE -DPHP_INSTALL_DIR=%{php_extdir}\ -DPYTHON_BINDINGS=TRUE -DPYTHON_INSTALL_DIR=%{python_sitearch} \ -%if 0%{?with_mono} +%if %{with mono} -DCSHARP_BINDINGS=TRUE -DCSHARP_INSTALL_DIR=%{_libexecdir}/mono/ \ %endif -DBUILD_TESTS=FALSE \ @@ -272,7 +266,7 @@ %{_datadir}/php5/kolabformat.php %{php_extdir}/kolabformat.so -%if 0%{?with_java} +%if %{with java} %files -n java-%{libname} %defattr(-,root,root) %doc COPYING @@ -280,7 +274,7 @@ %{_libdir}/java/* %endif -%if 0%{?with_mono} +%if %{with mono} %files -n mono-%{libname} %defattr(-,root,root) %doc COPYING ++++++ libkolabxml-1.0.3.tar.gz -> libkolabxml-1.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/CMakeLists.txt new/libkolabxml-1.1.0/CMakeLists.txt --- old/libkolabxml-1.0.3/CMakeLists.txt 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/CMakeLists.txt 2014-12-31 16:55:13.000000000 +0100 @@ -41,11 +41,11 @@ # 0.2 (0.2 development version) set (Libkolabxml_VERSION_MAJOR 1) -set (Libkolabxml_VERSION_MINOR 0) +set (Libkolabxml_VERSION_MINOR 1) # Enable the full x.y.z version only for release versions -set (Libkolabxml_VERSION_PATCH 3) -set (Libkolabxml_VERSION "${Libkolabxml_VERSION_MAJOR}.${Libkolabxml_VERSION_MINOR}.${Libkolabxml_VERSION_PATCH}" ) -#set (Libkolabxml_VERSION "${Libkolabxml_VERSION_MAJOR}.${Libkolabxml_VERSION_MINOR}" ) +set (Libkolabxml_VERSION_PATCH 0) +#set (Libkolabxml_VERSION "${Libkolabxml_VERSION_MAJOR}.${Libkolabxml_VERSION_MINOR}.${Libkolabxml_VERSION_PATCH}" ) +set (Libkolabxml_VERSION "${Libkolabxml_VERSION_MAJOR}.${Libkolabxml_VERSION_MINOR}" ) set (Libkolabxml_VERSION_STRING ${CMAKE_PROJECT_NAME}-${Libkolabxml_VERSION}) set (KOLAB_FORMAT_VERSION "3.1.0") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/README new/libkolabxml-1.1.0/README --- old/libkolabxml-1.0.3/README 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/README 2014-12-31 16:55:13.000000000 +0100 @@ -1,7 +1,10 @@ = About = -Libkolabxml is the reference implementation of the Kolab XML Format as defined in http://wiki.kolab.org/User:Mollekopf/Drafts/KEP:17. -It provides serialization/deserialization from/to in-memory representations for all Kolab Objects, including input validation. +Libkolabxml is the reference implementation of the Kolab XML Format as +defined in http://wiki.kolab.org/User:Mollekopf/Drafts/KEP:17. + +It provides serialization/deserialization from/to in-memory +representations for all Kolab Objects, including input validation. = Bindings = @@ -15,60 +18,72 @@ Build with: -$mkdir build -$cd build -$cmake .. -$make +$ mkdir build +$ cd build +$ cmake .. +$ make == CMake options == -Options can either be supplied on the commandline or edited in the cmake cache. +Options can either be supplied on the commandline or edited in the +cmake cache. Library installation path: -LIB_INSTALL_DIR=/usr/lib + LIB_INSTALL_DIR=/usr/lib + +Note that LIB_SUFFIX is honored since version 1.0.2 Set the installation prefix: -CMAKE_INSTALL_PREFIX=/usr + CMAKE_INSTALL_PREFIX=/usr Installation location for header files: -INCLUDE_INSTALL_DIR=/usr/include + INCLUDE_INSTALL_DIR=/usr/include -Building of bindings can be controlled using cmake configuration options: -PYTHON_BINDINGS -PHP_BINDINGS -JAVA_BINDINGS -CSHARP_BINDINGS +Building of bindings can be controlled using cmake configuration +options: + + PYTHON_BINDINGS + PHP_BINDINGS + JAVA_BINDINGS + CSHARP_BINDINGS The path to install the bindings: -PYTHON_INSTALL_DIR -PHP_INSTALL_DIR -JAVA_INSTALL_DIR -CSHARP_INSTALL_DIR + + PYTHON_INSTALL_DIR + PHP_INSTALL_DIR + JAVA_INSTALL_DIR + CSHARP_INSTALL_DIR === Example === -Find libraries in lib64, install to /usr/lib64, build python and phpbindings: +Find libraries in lib64, install to /usr/lib64, build python and +phpbindings: -$cmake -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 -DPYTHON_BINDINGS=TRUE -DPYTHON_INSTALL_DIR=/usr/lib64/python$x.$y/site-packages/ -DPHP_BINDINGS=TRUE .. +$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 \ + -DPYTHON_BINDINGS=TRUE \ + -DPYTHON_INSTALL_DIR=/usr/lib64/python$x.$y/site-packages/ \ + -DPHP_BINDINGS=TRUE .. == Requirements == Minimum requirements are: --cmake 2.6 --boost >= 1.41 --xerces-c >= 3.0 --cxx >= 3.0 (http://www.codesynthesis.com/products/xsd/) --libcurl + + - cmake 2.6 + - boost >= 1.41 + - xerces-c >= 3.0 + - cxx >= 3.0 (http://www.codesynthesis.com/products/xsd/) + - libcurl For further features: --SWIG >= 2.0 + + - SWIG >= 2.0 For building test (controlled by -DBUILD_TESTS=TRUE): --Qt >= 4.7 + - Qt >= 4.7 -For further information see src/DEVELOPMENT. +For further information see src/DEVELOPMENT. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/cmake/modules/LibkolabxmlConfigVersion.cmake.in new/libkolabxml-1.1.0/cmake/modules/LibkolabxmlConfigVersion.cmake.in --- old/libkolabxml-1.0.3/cmake/modules/LibkolabxmlConfigVersion.cmake.in 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/cmake/modules/LibkolabxmlConfigVersion.cmake.in 2014-12-31 16:55:13.000000000 +0100 @@ -3,9 +3,13 @@ # if the current version is >= requested version. set(PACKAGE_VERSION @Libkolabxml_VERSION_MAJOR@.@Libkolabxml_VERSION_MINOR@.@Libkolabxml_VERSION_PATCH@) +set(PACKAGE_VERSION_MAJOR @Libkolabxml_VERSION_MAJOR@) if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) set(PACKAGE_VERSION_COMPATIBLE FALSE) +elseif(NOT "${PACKAGE_FIND_VERSION_MAJOR}" VERSION_EQUAL "${PACKAGE_VERSION_MAJOR}" ) + #Major versions are incompatible and require an explicit switch + set(PACKAGE_VERSION_COMPATIBLE FALSE) else("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) set(PACKAGE_VERSION_COMPATIBLE TRUE) if( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/schemas/kolabformat.xsd new/libkolabxml-1.1.0/schemas/kolabformat.xsd --- old/libkolabxml-1.0.3/schemas/kolabformat.xsd 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/schemas/kolabformat.xsd 2014-12-31 16:55:13.000000000 +0100 @@ -4,14 +4,10 @@ xmlns="http://kolab.org" elementFormDefault="qualified"> + <xs:complexType name="KolabBase"> + <xs:attribute name="version" type="xs:string" default="3.0" /> + </xs:complexType> - - <xs:complexType name="KolabBase"> - <xs:attribute name="version" type="xs:string" fixed="3.0" /> - </xs:complexType> - - - <xs:complexType name="attachmentPropType"> <xs:sequence> <xs:element name="parameters"> @@ -102,6 +98,7 @@ <xs:enumeration value="dictionary"/> <xs:enumeration value="categorycolor"/> <xs:enumeration value="snippets"/> + <xs:enumeration value="relation"/> <xs:enumeration value="file_driver"/> </xs:restriction> </xs:simpleType> @@ -168,6 +165,14 @@ <!-- Snippets --> <xs:element name="name" type="xs:string" minOccurs="0"/> <xs:element name="snippet" type="Snippet" minOccurs="0" maxOccurs="unbounded"/> + <!-- Relation --> + <!-- xs:element name="name" type="xs:string" minOccurs="0"/ --> + <xs:element name="relationType" type="xs:string" minOccurs="0"/> + <xs:element name="color" type="xs:string" minOccurs="0"/> + <xs:element name="iconName" type="xs:string" minOccurs="0"/> + <xs:element name="priority" type="xs:integer" minOccurs="0"/> + <xs:element name="parent" type="xs:string" minOccurs="0"/> + <xs:element name="member" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> <!-- FileDriver --> <xs:element name="driver" type="xs:string" minOccurs="0"/> <xs:element name="title" type="xs:string" minOccurs="0"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/src/containers/kolabconfiguration.cpp new/libkolabxml-1.1.0/src/containers/kolabconfiguration.cpp --- old/libkolabxml-1.0.3/src/containers/kolabconfiguration.cpp 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/src/containers/kolabconfiguration.cpp 2014-12-31 16:55:13.000000000 +0100 @@ -25,6 +25,7 @@ std::vector<CategoryColor> categoryColor; Dictionary dictionary; SnippetsCollection snippets; + Relation relation; FileDriver fileDriver; ConfigurationType type; std::string uid; @@ -58,6 +59,13 @@ d->type = TypeSnippet; } +Configuration::Configuration(const Relation &relation) +: d(new Configuration::Private) +{ + d->relation = relation; + d->type = TypeRelation; +} + Configuration::Configuration(const FileDriver &fileDriver) : d(new Configuration::Private) { @@ -137,6 +145,11 @@ return d->snippets; } +Relation Configuration::relation() const +{ + return d->relation; +} + FileDriver Configuration::fileDriver() const { return d->fileDriver; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/src/containers/kolabconfiguration.h new/libkolabxml-1.1.0/src/containers/kolabconfiguration.h --- old/libkolabxml-1.0.3/src/containers/kolabconfiguration.h 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/src/containers/kolabconfiguration.h 2014-12-31 16:55:13.000000000 +0100 @@ -109,6 +109,47 @@ std::vector<Snippet> mSnippets; }; +struct Relation { + Relation(){} + Relation(const std::string &name, const std::string &type): mName(name), mType(type) {} + + bool operator==(const Relation &other) const { + return mName == other.mName && + mType == other.mType && + mColor == other.mColor && + mIconName == other.mIconName && + mParent == other.mParent && + mMembers == other.mMembers; + } + + std::string name() const { return mName; } + std::string type() const { return mType; } + + void setColor(const std::string &color) { mColor = color; } + std::string color() const { return mColor; } + + void setIconName(const std::string &icon) { mIconName = icon; } + std::string iconName() const { return mIconName; } + + void setParent(const std::string &parent) { mParent = parent; } + std::string parent() const { return mParent; } + + void setPriority(int priority) { mPriority = priority; } + int priority() const { return mPriority; } + + void setMembers(const std::vector<std::string> &members) { mMembers = members; } + std::vector<std::string> members() const { return mMembers; } + +private: + std::string mName; + std::string mType; + std::string mColor; + std::string mIconName; + std::string mParent; + int mPriority; + std::vector<std::string> mMembers; +}; + struct FileDriver { FileDriver(): mEnabled(false) {} FileDriver(const std::string &driver, const std::string &title): mDriver(driver), mTitle(title), mEnabled(true) {} @@ -160,6 +201,7 @@ Configuration(const std::vector<CategoryColor> &); Configuration(const Dictionary &); Configuration(const SnippetsCollection &); + Configuration(const Relation &); Configuration(const FileDriver &); Configuration(const Configuration &); ~Configuration(); @@ -181,12 +223,14 @@ TypeDictionary, TypeCategoryColor, TypeSnippet, + TypeRelation, TypeFileDriver }; ConfigurationType type() const; std::vector<CategoryColor> categoryColor() const; Dictionary dictionary() const; SnippetsCollection snippets() const; + Relation relation() const; FileDriver fileDriver() const; private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/src/csharp/CMakeLists.txt new/libkolabxml-1.1.0/src/csharp/CMakeLists.txt --- old/libkolabxml-1.0.3/src/csharp/CMakeLists.txt 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/src/csharp/CMakeLists.txt 2014-12-31 16:55:13.000000000 +0100 @@ -34,6 +34,8 @@ ${CMAKE_CURRENT_BINARY_DIR}/Event.cs ${CMAKE_CURRENT_BINARY_DIR}/File.cs ${CMAKE_CURRENT_BINARY_DIR}/FileDriver.cs + ${CMAKE_CURRENT_BINARY_DIR}/Freebusy.cs + ${CMAKE_CURRENT_BINARY_DIR}/FreebusyPeriod.cs ${CMAKE_CURRENT_BINARY_DIR}/Geo.cs ${CMAKE_CURRENT_BINARY_DIR}/Journal.cs ${CMAKE_CURRENT_BINARY_DIR}/Key.cs @@ -41,17 +43,15 @@ ${CMAKE_CURRENT_BINARY_DIR}/NameComponents.cs ${CMAKE_CURRENT_BINARY_DIR}/Note.cs ${CMAKE_CURRENT_BINARY_DIR}/PartStatus.cs + ${CMAKE_CURRENT_BINARY_DIR}/Period.cs ${CMAKE_CURRENT_BINARY_DIR}/RecurrenceRule.cs ${CMAKE_CURRENT_BINARY_DIR}/Related.cs + ${CMAKE_CURRENT_BINARY_DIR}/Relation.cs ${CMAKE_CURRENT_BINARY_DIR}/Relative.cs ${CMAKE_CURRENT_BINARY_DIR}/Role.cs ${CMAKE_CURRENT_BINARY_DIR}/Snippet.cs ${CMAKE_CURRENT_BINARY_DIR}/SnippetsCollection.cs ${CMAKE_CURRENT_BINARY_DIR}/Status.cs - ${CMAKE_CURRENT_BINARY_DIR}/Snippet.cs - ${CMAKE_CURRENT_BINARY_DIR}/SnippetsCollection.cs - ${CMAKE_CURRENT_BINARY_DIR}/SWIGTYPE_p_Kolab__Freebusy.cs - ${CMAKE_CURRENT_BINARY_DIR}/SWIGTYPE_p_std__vectorT_Kolab__Todo_t.cs ${CMAKE_CURRENT_BINARY_DIR}/Telephone.cs ${CMAKE_CURRENT_BINARY_DIR}/Todo.cs ${CMAKE_CURRENT_BINARY_DIR}/Url.cs @@ -67,13 +67,16 @@ ${CMAKE_CURRENT_BINARY_DIR}/vectordaypos.cs ${CMAKE_CURRENT_BINARY_DIR}/vectoremail.cs ${CMAKE_CURRENT_BINARY_DIR}/vectorevent.cs + ${CMAKE_CURRENT_BINARY_DIR}/vectorfreebusyperiod.cs ${CMAKE_CURRENT_BINARY_DIR}/vectorgeo.cs ${CMAKE_CURRENT_BINARY_DIR}/vectori.cs ${CMAKE_CURRENT_BINARY_DIR}/vectorkey.cs + ${CMAKE_CURRENT_BINARY_DIR}/vectorperiod.cs ${CMAKE_CURRENT_BINARY_DIR}/vectorrelated.cs ${CMAKE_CURRENT_BINARY_DIR}/vectors.cs ${CMAKE_CURRENT_BINARY_DIR}/vectorsnippet.cs ${CMAKE_CURRENT_BINARY_DIR}/vectortelephone.cs + ${CMAKE_CURRENT_BINARY_DIR}/vectortodo.cs ${CMAKE_CURRENT_BINARY_DIR}/vectorurl.cs ${CMAKE_CURRENT_BINARY_DIR}/Weekday.cs ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/src/java/CMakeLists.txt new/libkolabxml-1.1.0/src/java/CMakeLists.txt --- old/libkolabxml-1.0.3/src/java/CMakeLists.txt 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/src/java/CMakeLists.txt 2014-12-31 16:55:13.000000000 +0100 @@ -23,7 +23,10 @@ ${CMAKE_CURRENT_BINARY_DIR}/Duration.java ${CMAKE_CURRENT_BINARY_DIR}/ErrorSeverity.java ${CMAKE_CURRENT_BINARY_DIR}/Event.java + ${CMAKE_CURRENT_BINARY_DIR}/File.java ${CMAKE_CURRENT_BINARY_DIR}/FileDriver.java + ${CMAKE_CURRENT_BINARY_DIR}/Freebusy.java + ${CMAKE_CURRENT_BINARY_DIR}/FreebusyPeriod.java ${CMAKE_CURRENT_BINARY_DIR}/Geo.java ${CMAKE_CURRENT_BINARY_DIR}/Journal.java ${CMAKE_CURRENT_BINARY_DIR}/Key.java @@ -33,14 +36,15 @@ ${CMAKE_CURRENT_BINARY_DIR}/NameComponents.java ${CMAKE_CURRENT_BINARY_DIR}/Note.java ${CMAKE_CURRENT_BINARY_DIR}/PartStatus.java + ${CMAKE_CURRENT_BINARY_DIR}/Period.java ${CMAKE_CURRENT_BINARY_DIR}/RecurrenceRule.java + ${CMAKE_CURRENT_BINARY_DIR}/Relation.java ${CMAKE_CURRENT_BINARY_DIR}/Related.java ${CMAKE_CURRENT_BINARY_DIR}/Relative.java ${CMAKE_CURRENT_BINARY_DIR}/Role.java ${CMAKE_CURRENT_BINARY_DIR}/Status.java ${CMAKE_CURRENT_BINARY_DIR}/Snippet.java ${CMAKE_CURRENT_BINARY_DIR}/SnippetsCollection.java - ${CMAKE_CURRENT_BINARY_DIR}/SWIGTYPE_p_Kolab__Freebusy.java ${CMAKE_CURRENT_BINARY_DIR}/Telephone.java ${CMAKE_CURRENT_BINARY_DIR}/Todo.java ${CMAKE_CURRENT_BINARY_DIR}/Url.java @@ -54,13 +58,18 @@ ${CMAKE_CURRENT_BINARY_DIR}/vectorcs.java ${CMAKE_CURRENT_BINARY_DIR}/vectordatetime.java ${CMAKE_CURRENT_BINARY_DIR}/vectordaypos.java + ${CMAKE_CURRENT_BINARY_DIR}/vectoremail.java + ${CMAKE_CURRENT_BINARY_DIR}/vectorevent.java + ${CMAKE_CURRENT_BINARY_DIR}/vectorfreebusyperiod.java ${CMAKE_CURRENT_BINARY_DIR}/vectorgeo.java ${CMAKE_CURRENT_BINARY_DIR}/vectori.java ${CMAKE_CURRENT_BINARY_DIR}/vectorkey.java + ${CMAKE_CURRENT_BINARY_DIR}/vectorperiod.java ${CMAKE_CURRENT_BINARY_DIR}/vectorrelated.java ${CMAKE_CURRENT_BINARY_DIR}/vectors.java ${CMAKE_CURRENT_BINARY_DIR}/vectorsnippet.java ${CMAKE_CURRENT_BINARY_DIR}/vectortelephone.java + ${CMAKE_CURRENT_BINARY_DIR}/vectortodo.java ${CMAKE_CURRENT_BINARY_DIR}/vectorurl.java ${CMAKE_CURRENT_BINARY_DIR}/Weekday.java ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/src/kolabconversions.h new/libkolabxml-1.1.0/src/kolabconversions.h --- old/libkolabxml-1.0.3/src/kolabconversions.h 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/src/kolabconversions.h 2014-12-31 16:55:13.000000000 +0100 @@ -45,6 +45,13 @@ using namespace Kolab::Utils; using namespace Kolab::Shared; +template <typename T> +std::vector<std::string> toStringList(const xsd::cxx::tree::sequence<T> &s) +{ + std::vector<std::string> d; + std::copy(s.begin(), s.end(), std::back_inserter(d)); + return d; +} Kolab::Attachment toAttachment(KolabXSD::attachmentPropType aProp) { @@ -120,7 +127,7 @@ return colors; } -KolabXSD::Configuration::type_type getConfiguratinoType(Kolab::Configuration::ConfigurationType t) +KolabXSD::Configuration::type_type getConfigurationType(Kolab::Configuration::ConfigurationType t) { switch (t) { case Kolab::Configuration::TypeDictionary: @@ -129,6 +136,8 @@ return KolabXSD::Configuration::type_type::categorycolor; case Kolab::Configuration::TypeSnippet: return KolabXSD::Configuration::type_type::snippets; + case Kolab::Configuration::TypeRelation: + return KolabXSD::Configuration::type_type::relation; case Kolab::Configuration::TypeFileDriver: return KolabXSD::Configuration::type_type::file_driver; default: @@ -161,7 +170,7 @@ // WARNING("missing last_modification_date, fallback to current timestamp"); lastModificationDate = fromDateTime(timestamp()); } - KolabXSD::Configuration n(uid, getProductId(prod), created, lastModificationDate, getConfiguratinoType(configuration.type())); + KolabXSD::Configuration n(uid, getProductId(prod), created, lastModificationDate, getConfigurationType(configuration.type())); switch (configuration.type()) { case Kolab::Configuration::TypeDictionary: { @@ -191,6 +200,29 @@ } } break; + case Kolab::Configuration::TypeRelation: { + const Kolab::Relation &relation = configuration.relation(); + n.name(relation.name()); + if (!relation.type().empty()) { + n.relationType(relation.type()); + } + if (!relation.color().empty()) { + n.color(relation.color()); + } + if (!relation.iconName().empty()) { + n.iconName(relation.iconName()); + } + if (!relation.parent().empty()) { + n.parent(relation.parent()); + } + if (!relation.priority() != 0) { + n.priority(fromInt<KolabXSD::Configuration::priority_type>(relation.priority())); + } + BOOST_FOREACH(const std::string &s, relation.members()) { + n.member().push_back(s); + } + } + break; case Kolab::Configuration::TypeFileDriver: { const Kolab::FileDriver &fileDriver = configuration.fileDriver(); n.driver(fileDriver.driver()); @@ -531,6 +563,31 @@ collection.setSnippets(snippets); n = boost::shared_ptr<Kolab::Configuration>(new Kolab::Configuration(collection)); + } else if (configuration->type() == KolabXSD::ConfigurationType::relation) { + std::string name; + if (configuration->name()) { + name = *configuration->name(); + } + std::string type; + if (configuration->relationType()) { + type = *configuration->relationType(); + } + Relation relation(name, type); + if (configuration->color()) { + relation.setColor(*configuration->color()); + } + if (configuration->iconName()) { + relation.setIconName(*configuration->iconName()); + } + if (configuration->parent()) { + relation.setParent(*configuration->parent()); + } + if (configuration->priority()) { + relation.setPriority(convertToInt(*configuration->priority())); + } + relation.setMembers(toStringList(configuration->member())); + + n = boost::shared_ptr<Kolab::Configuration>(new Kolab::Configuration(relation)); } else if (configuration->type() == KolabXSD::ConfigurationType::file_driver) { std::string driver; if (configuration->driver()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/src/kolabformat.i new/libkolabxml-1.1.0/src/kolabformat.i --- old/libkolabxml-1.0.3/src/kolabformat.i 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/src/kolabformat.i 2014-12-31 16:55:13.000000000 +0100 @@ -15,6 +15,7 @@ #include "containers/kolabnote.h" #include "containers/kolabconfiguration.h" #include "containers/kolabfile.h" + #include "containers/kolabfreebusy.h" %} %include "std_string.i" @@ -39,12 +40,15 @@ %template(vectorevent) vector<Kolab::Event>; %template(vectorrelated) vector<Kolab::Related>; %template(vectortelephone) vector<Kolab::Telephone>; + %template(vectortodo) vector<Kolab::Todo>; %template(vectoremail) vector<Kolab::Email>; %template(vectordatetime) vector<Kolab::cDateTime>; %template(vectorurl) vector<Kolab::Url>; %template(vectorkey) vector<Kolab::Key>; %template(vectorcategorycolor) vector<Kolab::CategoryColor>; %template(vectorsnippet) vector<Kolab::Snippet>; + %template(vectorfreebusyperiod) vector<Kolab::FreebusyPeriod>; + %template(vectorperiod) vector<Kolab::Period>; }; %rename(readKolabFile) Kolab::readFile; @@ -60,3 +64,4 @@ %include "containers/kolabnote.h" %include "containers/kolabconfiguration.h" %include "containers/kolabfile.h" +%include "containers/kolabfreebusy.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/src/objectvalidation.cpp new/libkolabxml-1.1.0/src/objectvalidation.cpp --- old/libkolabxml-1.0.3/src/objectvalidation.cpp 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/src/objectvalidation.cpp 2014-12-31 16:55:13.000000000 +0100 @@ -31,7 +31,7 @@ static boost::unordered_set<std::string> initializeTzSet() { boost::unordered_set<std::string> set; - for (int i = 0; i < numOlsonTimezones; i++) { + for (unsigned int i = 0; i < numOlsonTimezones; i++) { set.insert(olsonTimezones[i]); } return set; @@ -110,32 +110,32 @@ ASSERTVALID(journal.start()); } -void validate(const Contact& contact) +void validate(const Contact& /* contact */) { } -void validate(const DistList& distlist) +void validate(const DistList& /* distlist */) { } -void validate(const Freebusy& freebusy) +void validate(const Freebusy& /* freebusy */) { } -void validate(const Note& note) +void validate(const Note& /* note */) { } -void validate(const Configuration& configuration) +void validate(const Configuration& /* configuration */) { } -void validate(const File& file) +void validate(const File& /* file */) { } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/src/php/test.php new/libkolabxml-1.1.0/src/php/test.php --- old/libkolabxml-1.0.3/src/php/test.php 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/src/php/test.php 2014-12-31 16:55:13.000000000 +0100 @@ -121,6 +121,52 @@ #print $xml; assertcontains($xml, '<byday>2MO</byday><byday>-1FR</byday>', "Recurrence by weekday"); +$att1 = new Attendee(new ContactReference("[email protected]")); +$att1->setPartStat(kolabformat::PartDelegated); +$att2 = new Attendee(new ContactReference("[email protected]")); +$att1->setPartStat(kolabformat::PartNeedsAction); + +$vdelegatees = new vectorcontactref; +$vdelegatees->push($att2->contact()); +$att1->setDelegatedTo($vdelegatees); + +$vdelegators = new vectorcontactref; +$vdelegators->push($att1->contact()); +$att2->setDelegatedFrom($vdelegators); + +$attendees = new vectorattendee; +$attendees->push($att1); +$attendees->push($att2); +$e1->setAttendees($attendees); + +$xml = kolabformat::writeEvent($e1); +assertcontains($xml, '<delegated-to><cal-address>mailto:%3Cjane%40kolab.org%3E</cal-address>', "Delegated-To"); +assertcontains($xml, '<delegated-from><cal-address>mailto:%3Cjohn%40kolab.org%3E</cal-address>', "Delegated-From"); + +$e2 = kolabformat::readEvent($xml, false); +$attendees_ = $e2->attendees(); +assertequal($attendees_->size(), 2, "Event::attendees()"); +$att1_ = $attendees_->get(0); +$att2_ = $attendees_->get(1); +assertequal($att1_->contact()->email(), "[email protected]", "Attendee email"); +$vdelegatees_ = $att1_->delegatedTo(); +assertequal($vdelegatees_->size(), 1, "Attendee::delegatedTo()"); +assertequal($vdelegatees_->get(0)->email(), "[email protected]", "Delegated-To email"); + + +/////// Test Todo + +$t = new Todo(); +$t->setCreated(new cDateTime(2014,3,14, 9,5,30, true)); +$due = new cDateTime(2014,5,20, 17,30,0); +$t->setDue($due); +$t->setStart(new cDateTime(2014,4,30, 8,0,0)); +$t->setSummary('Test Task'); + +$xml = kolabformat::writeTodo($t); +#print $xml; +assertcontains($xml, '<due><date-time>2014-05-20T17:30:00</date-time></due>', "Todo::setDue() with date/time"); +assertcontains($xml, '<dtstart><date-time>2014-04-30T08:00:00</date-time></dtstart>', "Todo::setStart() with date/time"); /////// Test Contact diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/src/python/test.py new/libkolabxml-1.1.0/src/python/test.py --- old/libkolabxml-1.0.3/src/python/test.py 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/src/python/test.py 2014-12-31 16:55:13.000000000 +0100 @@ -1,16 +1,77 @@ import kolabformat -e = kolabformat.Event() +import unittest -ex = e.exceptionDates() -ex.size() -ex.push_back(kolabformat.cDateTime(1,1,1)) -ex.size() -e.exceptionDates().size() -e.setExceptionDates(ex) -e.exceptionDates().size() - -string = kolabformat.writeEvent(e); -print string; -e1 = kolabformat.readEvent(string, False); -string = kolabformat.writeEvent(e1); -print string; \ No newline at end of file +class TestKolabformat(unittest.TestCase): + + def test_event_basic(self): + e = kolabformat.Event() + e.setSummary("test") + + start = kolabformat.cDateTime(2014,7,1, 12,30,0) + start.setTimezone("Europe/London") + e.setStart(start) + + ex = e.exceptionDates() + ex.size() + ex.push_back(kolabformat.cDateTime(2014,7,5)) + ex.size() + e.exceptionDates().size() + e.setExceptionDates(ex) + e.exceptionDates().size() + + xml = kolabformat.writeEvent(e) + e1 = kolabformat.readEvent(xml, False) + xml1 = kolabformat.writeEvent(e1) + self.assertEqual(xml, xml1) + + def test_event_delegated(self): + e = kolabformat.Event() + e.setSummary("test") + e.setStart(kolabformat.cDateTime(2014,7,1, 12,30,0)) + + att1 = kolabformat.Attendee(kolabformat.ContactReference("[email protected]")) + att1.setRole(kolabformat.NonParticipant) + att1.setPartStat(kolabformat.PartDelegated) + att1.setDelegatedTo([kolabformat.ContactReference("[email protected]")]) + + att2 = kolabformat.Attendee(kolabformat.ContactReference("[email protected]")) + att2.setRole(kolabformat.Required) + att2.setPartStat(kolabformat.PartNeedsAction) + att2.setDelegatedFrom([kolabformat.ContactReference("[email protected]")]) + + e.setAttendees([att1, att2]) + self.assertEqual(len(att1.delegatedTo()), 1) + self.assertEqual(len(att2.delegatedFrom()), 1) + + xml = kolabformat.writeEvent(e) + e1 = kolabformat.readEvent(xml, False) + # print xml + + attendees_ = e1.attendees() + self.assertEqual(len(attendees_), 2) + self.assertEqual(len(attendees_[0].delegatedTo()), 1) + self.assertEqual(len(attendees_[1].delegatedFrom()), 1) + + delegatees = attendees_[0].delegatedTo() + self.assertEqual(delegatees[0].email(), "[email protected]") + + def test_todo_partstat(self): + t = kolabformat.Todo() + t.setSummary("test") + t.setPercentComplete(40) + + att = kolabformat.Attendee(kolabformat.ContactReference("[email protected]")) + att.setRole(kolabformat.Required) + att.setPartStat(kolabformat.PartInProcess) + t.setAttendees([att]) + + xml = kolabformat.writeTodo(t) + self.assertTrue("<text>IN-PROCESS</text>" in xml) + + t1 = kolabformat.readTodo(xml, False) + attendees = t1.attendees() + self.assertEqual(attendees[0].partStat(), kolabformat.PartInProcess) + + +if __name__ == '__main__': + unittest.main() \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/testfiles/testnote.xml new/libkolabxml-1.1.0/testfiles/testnote.xml --- old/libkolabxml-1.0.3/testfiles/testnote.xml 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/testfiles/testnote.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<note version="3.0dev1" xmlns="http://kolab.org"> - <!-- Common fields --> - <uid>uid</uid> - <body></body> - <categories></categories> - <creation-date>2004-05-04T15:00:00Z</creation-date> - <last-modification-date>2004-05-04T15:00:00Z</last-modification-date> - <sensitivity>public</sensitivity> - <inline-attachment></inline-attachment> - <link-attachment></link-attachment> - <product-id></product-id> - <!-- Note specific fields --> - <summary>summarytext</summary> - <background-color>#000000</background-color> - <foreground-color>#ffff00</foreground-color> -</note> - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/tests/CMakeLists.txt new/libkolabxml-1.1.0/tests/CMakeLists.txt --- old/libkolabxml-1.0.3/tests/CMakeLists.txt 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/tests/CMakeLists.txt 2014-12-31 16:55:13.000000000 +0100 @@ -26,14 +26,19 @@ add_test(conversiontest ${CMAKE_CURRENT_BINARY_DIR}/conversiontest) QT4_AUTOMOC(parsingtest.cpp) - add_executable(parsingtest parsingtest.cpp ${CMAKE_CURRENT_BINARY_DIR}/${CONVERSIONTEST_MOC}) + add_executable(parsingtest parsingtest.cpp ${CMAKE_CURRENT_BINARY_DIR}/${PARSINGTEST_MOC}) target_link_libraries(parsingtest ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} kolabxml ${XERCES_C}) add_test(parsingtest ${CMAKE_CURRENT_BINARY_DIR}/parsingtest) QT4_AUTOMOC(validationtest.cpp) - add_executable(validationtest validationtest.cpp ${CMAKE_CURRENT_BINARY_DIR}/${CONVERSIONTEST_MOC}) + add_executable(validationtest validationtest.cpp ${CMAKE_CURRENT_BINARY_DIR}/${VALIDATIONTEST_MOC}) target_link_libraries(validationtest ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} kolabxml ${XERCES_C}) add_test(validationtest ${CMAKE_CURRENT_BINARY_DIR}/validationtest) + + QT4_AUTOMOC(kolabconversationtest.cpp) + add_executable(kolabconversationtest kolabconversationtest.cpp ${CMAKE_CURRENT_BINARY_DIR}/${KOLABCONVERSATIONTEST_MOC}) + target_link_libraries(kolabconversationtest ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} kolabxml ${XERCES_C}) + add_test(kolabconversationtest ${CMAKE_CURRENT_BINARY_DIR}/kolabconversationtest) else() message(WARNING "Could not build tests because qt is missing") endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/tests/bindingstest.cpp new/libkolabxml-1.1.0/tests/bindingstest.cpp --- old/libkolabxml-1.0.3/tests/bindingstest.cpp 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/tests/bindingstest.cpp 2014-12-31 16:55:13.000000000 +0100 @@ -105,6 +105,35 @@ QCOMPARE(re.snippets(), snippets); } +void BindingsTest::relationConfigurationCompletness() +{ + Kolab::Relation relation("name1", "type1"); + relation.setColor("color"); + relation.setIconName("icon"); + relation.setParent("parent"); + relation.setPriority(3); + std::vector<std::string> members; + members.push_back("member1"); + members.push_back("member2"); + relation.setMembers(members); + + Kolab::Configuration configuration(relation); + configuration.setUid("uid"); + configuration.setCreated(Kolab::cDateTime(2006,1,6,12,0,0,true)); //UTC + configuration.setLastModified(Kolab::cDateTime(2006,1,6,12,0,0,true)); //UTC + + const std::string &result = Kolab::writeConfiguration(configuration); + QCOMPARE(Kolab::error(), Kolab::NoError); +// std::cout << result << std::endl; + const Kolab::Configuration &re = Kolab::readConfiguration(result, false); + QCOMPARE(Kolab::error(), Kolab::NoError); + QCOMPARE(re.uid(), configuration.uid()); + QCOMPARE(re.created(), configuration.created()); + QCOMPARE(re.lastModified(), configuration.lastModified()); + QCOMPARE(re.type(), Kolab::Configuration::TypeRelation); + QCOMPARE(re.relation(), relation); +} + void BindingsTest::fileDriverConfigurationCompletness() { Kolab::FileDriver fileDriver("driver", "title"); @@ -740,6 +769,23 @@ QCOMPARE(e.customProperties(), c.customProperties()); } +void BindingsTest::dateOnlyDates() +{ + Kolab::Contact c; + c.setUid("1045b57d-ff7f-0000-d814-867b4d7f0000"); + c.setName("name"); + c.setBDay(Kolab::cDateTime(2001,12,10)); + c.setAnniversary(Kolab::cDateTime(2001,3,2)); + + const std::string result = Kolab::writeContact(c); + QVERIFY(Kolab::error() == Kolab::NoError); +// std::cout << result << endl; + Kolab::Contact e = Kolab::readContact(result, false); + QVERIFY(Kolab::error() == Kolab::NoError); + QCOMPARE(e.bDay(), c.bDay()); + QCOMPARE(e.anniversary(), c.anniversary()); +} + void BindingsTest::distlistCompletness() { std::vector<std::string> stringlist; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/tests/bindingstest.h new/libkolabxml-1.1.0/tests/bindingstest.h --- old/libkolabxml-1.0.3/tests/bindingstest.h 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/tests/bindingstest.h 2014-12-31 16:55:13.000000000 +0100 @@ -25,6 +25,7 @@ void categorycolorConfigurationCompletness(); void dictionaryConfigurationCompletness(); void snippetConfigurationCompletness(); + void relationConfigurationCompletness(); void fileDriverConfigurationCompletness(); void noteCompletness(); void fileCompletness(); @@ -37,6 +38,7 @@ void freebusyCompletness(); void contactCompletness(); + void dateOnlyDates(); void distlistCompletness(); void generateTimestampIfEmpty(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/tests/kolabconversationtest.cpp new/libkolabxml-1.1.0/tests/kolabconversationtest.cpp --- old/libkolabxml-1.0.3/tests/kolabconversationtest.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/libkolabxml-1.1.0/tests/kolabconversationtest.cpp 2014-12-31 16:55:13.000000000 +0100 @@ -0,0 +1,47 @@ +/* + Copyright (C) 2014 Sandro Knauß <[email protected]> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "kolabconversationtest.h" + +#include <QTest> +#include <QDebug> +#include <iostream> + +#include "src/kolabconversions.h" + +void KolabConversationTest::configurationDeserialationTest() +{ + boost::shared_ptr <Kolab::Configuration> ptr = Kolab::KolabObjects::deserializeObject<Kolab::Configuration>(TEST_DATA_PATH "/testfiles/testConfiguration.xml", true); + QVERIFY(ptr); + QVERIFY(ptr->isValid()); + QCOMPARE(ptr->type(), Kolab::Configuration::TypeRelation); + +} + +void KolabConversationTest::noteDeserialationTest() +{ + boost::shared_ptr <Kolab::Note> ptr = Kolab::KolabObjects::deserializeObject<Kolab::Note>(TEST_DATA_PATH "/testfiles/testNote.xml", true); + QVERIFY(ptr); + QVERIFY(ptr->isValid()); + QCOMPARE(ptr->summary(), std::string("summarytext")); +} + + +QTEST_MAIN( KolabConversationTest ) + +#include "kolabconversationtest.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/tests/kolabconversationtest.h new/libkolabxml-1.1.0/tests/kolabconversationtest.h --- old/libkolabxml-1.0.3/tests/kolabconversationtest.h 1970-01-01 01:00:00.000000000 +0100 +++ new/libkolabxml-1.1.0/tests/kolabconversationtest.h 2014-12-31 16:55:13.000000000 +0100 @@ -0,0 +1,33 @@ +/* + Copyright (C) 2014 Sandro Knauß <[email protected]> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + + +#ifndef KOLABCONVERSATIONTEST_H +#define KOLABCONVERSATIONTEST_H + +#include <QObject> + +class KolabConversationTest: public QObject +{ + Q_OBJECT +private slots: + void configurationDeserialationTest(); + void noteDeserialationTest(); +}; + +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/tests/testfiles/testConfiguration.xml new/libkolabxml-1.1.0/tests/testfiles/testConfiguration.xml --- old/libkolabxml-1.0.3/tests/testfiles/testConfiguration.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/libkolabxml-1.1.0/tests/testfiles/testConfiguration.xml 2014-12-31 16:55:13.000000000 +0100 @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<configuration xmlns="http://kolab.org" version="3.0dev1"> + <uid>6194e99c-69c0-11e4-9911-080027fe5a4c</uid> + <prodid>Roundcube-libkolab-1.1 Libkolabxml-1.1</prodid> + <creation-date>2014-11-11T16:32:51Z</creation-date> + <last-modification-date>2014-11-11T16:32:51Z</last-modification-date> + <type>relation</type> +</configuration> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/tests/testfiles/testNote.xml new/libkolabxml-1.1.0/tests/testfiles/testNote.xml --- old/libkolabxml-1.0.3/tests/testfiles/testNote.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/libkolabxml-1.1.0/tests/testfiles/testNote.xml 2014-12-31 16:55:13.000000000 +0100 @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<note version="3.0dev1" xmlns="http://kolab.org"> + <uid>uid</uid> + <prodid></prodid> + <creation-date>2014-11-11T16:32:51Z</creation-date> + <last-modification-date>2014-11-11T16:32:51Z</last-modification-date> + <classification>PUBLIC</classification> + <summary>summarytext</summary> + <color>#ffff00</color> +</note> + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolabxml-1.0.3/tztable.h new/libkolabxml-1.1.0/tztable.h --- old/libkolabxml-1.0.3/tztable.h 2014-10-13 11:49:38.000000000 +0200 +++ new/libkolabxml-1.1.0/tztable.h 2014-12-31 16:55:13.000000000 +0100 @@ -420,5 +420,5 @@ "Africa/Harare" }; -static const int numOlsonTimezones = sizeof olsonTimezones / sizeof *olsonTimezones; +static const long unsigned int numOlsonTimezones = sizeof olsonTimezones / sizeof *olsonTimezones;
