summaryrefslogtreecommitdiffstats
path: root/tests/querytest.cpp
diff options
context:
space:
mode:
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