summaryrefslogtreecommitdiffstats
path: root/tests/querytest.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-11-06 10:12:24 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-11-06 10:12:24 +0100
commite511841292d241fb9175a712184900ae69ed8685 (patch)
tree0fea577b192a61e64618049a9e7306c7a1d5177e /tests/querytest.cpp
parentc04755a772cbc6b2cf3a80e9c3c17b718e153c55 (diff)
downloadsink-e511841292d241fb9175a712184900ae69ed8685.tar.gz
sink-e511841292d241fb9175a712184900ae69ed8685.zip
Query serialization.
Diffstat (limited to 'tests/querytest.cpp')
-rw-r--r--tests/querytest.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/querytest.cpp b/tests/querytest.cpp
index a5e1caf..06c6ad6 100644
--- a/tests/querytest.cpp
+++ b/tests/querytest.cpp
@@ -45,6 +45,41 @@ private slots:
45 qDebug(); 45 qDebug();
46 } 46 }
47 47
48 void testSerialization()
49 {
50 qRegisterMetaTypeStreamOperators<Sink::QueryBase>();
51
52 auto type = QByteArray("type");
53 auto sort = QByteArray("sort");
54
55 Sink::QueryBase::Filter filter;
56 filter.ids << "id";
57 filter.propertyFilter.insert("foo", QVariant::fromValue(QByteArray("bar")));
58
59 Sink::Query query;
60 query.setFilter(filter);
61 query.setType(type);
62 query.setSortProperty(sort);
63
64 QByteArray data;
65 {
66 QDataStream stream(&data, QIODevice::WriteOnly);
67 stream << query;
68 }
69
70 Sink::Query deserializedQuery;
71 {
72 QDataStream stream(&data, QIODevice::ReadOnly);
73 stream >> deserializedQuery;
74 }
75
76 QCOMPARE(deserializedQuery.type(), type);
77 QCOMPARE(deserializedQuery.sortProperty(), sort);
78 QCOMPARE(deserializedQuery.getFilter().ids, filter.ids);
79 QCOMPARE(deserializedQuery.getFilter().propertyFilter.keys(), filter.propertyFilter.keys());
80 QCOMPARE(deserializedQuery.getFilter().propertyFilter, filter.propertyFilter);
81 }
82
48 void testNoResources() 83 void testNoResources()
49 { 84 {
50 // Test 85 // Test