diff options
Diffstat (limited to 'tests/querytest.cpp')
-rw-r--r-- | tests/querytest.cpp | 35 |
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 |