[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498

Maximiliano Curia maxy at moszumanska.debian.org
Fri Oct 14 14:26:39 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=17d0fd4

The following commit has been merged in the master branch:
commit 17d0fd4902bd7ab279d402d777ad35ebe5bbfb6c
Author: Albert Vaca <albertvaka at gmail.com>
Date:   Thu Jul 4 03:34:35 2013 +0200

    Added unit tests for n tests for networkpackage serialization
---
 daemon/networkpackage.cpp | 10 +++++++--
 daemon/networkpackage.h   |  2 +-
 test/CMakeLists.txt       |  2 ++
 test/backendtests.cpp     | 52 +++++++++++++++++++++++++++++++++++++++++++++++
 test/backendtests.h       |  4 ++++
 5 files changed, 67 insertions(+), 3 deletions(-)

diff --git a/daemon/networkpackage.cpp b/daemon/networkpackage.cpp
index 32c4201..379fc9b 100644
--- a/daemon/networkpackage.cpp
+++ b/daemon/networkpackage.cpp
@@ -33,6 +33,7 @@ NetworkPackage::NetworkPackage(QString type)
 {
     mId = time(NULL);
     mType = type;
+    mVersion = 1;
 }
 
 QByteArray NetworkPackage::serialize() const
@@ -48,7 +49,7 @@ QByteArray NetworkPackage::serialize() const
     bool ok;
     QJson::Serializer serializer;
     QByteArray json = serializer.serialize(variant,&ok);
-    if (!ok) qDebug() << "D'oh!";
+    if (!ok) qDebug() << "Serialization error:" << serializer.errorMessage();
 
     return json;
 }
@@ -57,7 +58,12 @@ void NetworkPackage::unserialize(QByteArray a, NetworkPackage* np)
 {
     //Json -> QVariant
     QJson::Parser parser;
-    QVariantMap variant = parser.parse(a).toMap();
+    bool ok;
+    QVariantMap variant = parser.parse(a, &ok).toMap();
+    if (!ok) {
+        qDebug() << "Unserialization error:" << parser.errorLine() << parser.errorString();
+        np->setVersion(-1);
+    }
 
     //QVariant -> Object
     //NetworkPackage np;
diff --git a/daemon/networkpackage.h b/daemon/networkpackage.h
index a31d42c..3ee3454 100644
--- a/daemon/networkpackage.h
+++ b/daemon/networkpackage.h
@@ -52,7 +52,7 @@ public:
     template<typename T> T get(const QString& property, const T& defaultValue = default_arg<T>::get()) const {
         return mBody.value(property,defaultValue).template value<T>(); //Important note: Awesome template syntax is awesome
     }
-    template<typename T> void set(const QString& property, const T& value) const { return mBody[property].setValue(value); }
+    template<typename T> void set(const QString& property, const T& value) { mBody[property] = value; }
 
 private:
     void setId(long id) { mId = id; }
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 1c16c40..979cb20 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,4 +1,5 @@
 set(kded_kdeconnect_tests_SRCS
+    ../daemon/networkpackage.cpp
     backendtests.cpp
 )
 
@@ -8,6 +9,7 @@ target_link_libraries(kded_kdeconnect_tests
     ${KDE4_KDECORE_LIBS}
     ${KDE4_KDEUI_LIBS}
     kdnssd
+    qjson
     ${QT_QTTEST_LIBRARY}
     ${QT_QTNETWORK_LIBRARY}
 )
diff --git a/test/backendtests.cpp b/test/backendtests.cpp
index 49fdf74..711e6b6 100644
--- a/test/backendtests.cpp
+++ b/test/backendtests.cpp
@@ -17,7 +17,10 @@
 
 #include "backendtests.h"
 
+#include "../daemon/networkpackage.h"
+
 #include <qtest_kde.h>
+#include <QtTest>
 
 QTEST_KDEMAIN(BackendTests, NoGUI);
 
@@ -26,6 +29,55 @@ void BackendTests::initTestCase()
     // Called before the first testfunction is executed
 }
 
+void BackendTests::dummyTest()
+{
+    QDate date;
+    date.setYMD( 1967, 3, 11 );
+    QVERIFY( date.isValid() );
+    QCOMPARE( date.month(), 3 );
+    QCOMPARE( QDate::longMonthName(date.month()), QString("March") );
+}
+
+void BackendTests::networkPackageTest()
+{
+    NetworkPackage np("com.test");
+
+    np.set("hello","hola");
+    QCOMPARE( (np.get<QString>("hello","bye")) , QString("hola") );
+
+    np.set("hello","");
+    QCOMPARE( (np.get<QString>("hello","bye")) , QString("") );
+
+    np.body().remove("hello");
+    QCOMPARE( (np.get<QString>("hello","bye")) , QString("bye") );
+
+    QByteArray ba = np.serialize();
+    //qDebug() << "Serialized package:" << ba;
+    NetworkPackage np2;
+    NetworkPackage::unserialize(ba,&np2);
+
+    QCOMPARE( np.id(), np2.id() );
+    QCOMPARE( np.type(), np2.type() );
+    QCOMPARE( np.version(), np2.version() );
+    QCOMPARE( np.body(), np2.body() );
+
+    QByteArray json("{ \"id\": 123, \"type\": \"test\", \"body\": { \"testing\": true }, \"version\": 3 }");
+    //qDebug() << json;
+    NetworkPackage::unserialize(json,&np2);
+    QCOMPARE( np2.id(), long(123) );
+    QCOMPARE( np2.version(), 3 );
+    QCOMPARE( (np2.get<bool>("testing")), true );
+    QCOMPARE( (np2.get<bool>("not_testing")), false );
+    QCOMPARE( (np2.get<bool>("not_testing",true)), true );
+
+    //NetworkPackage::unserialize("this is not json",&np2);
+    //QtTest::ignoreMessage(QtSystemMsg, "json_parser - syntax error found,  forcing abort, Line 1 Column 0");
+    //QtTest::ignoreMessage(QtDebugMsg, "Unserialization error: 1 \"syntax error, unexpected string\"");
+    //QCOMPARE( np2.version(), -1 );
+
+}
+
+
 void BackendTests::cleanupTestCase()
 {
     // Called after the last testfunction was executed
diff --git a/test/backendtests.h b/test/backendtests.h
index 92d9eac..d0b59e1 100644
--- a/test/backendtests.h
+++ b/test/backendtests.h
@@ -26,6 +26,10 @@ class BackendTests : public QObject
 
 private Q_SLOTS:
     void initTestCase();
+
+    void dummyTest();
+    void networkPackageTest();
+
     void cleanupTestCase();
 
     void init();

-- 
kdeconnect packaging



More information about the pkg-kde-commits mailing list