aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/util.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/tests/util.h b/tests/util.h
index 035c8293..49f8e4d3 100644
--- a/tests/util.h
+++ b/tests/util.h
@@ -46,6 +46,16 @@ inline QDomElement xmlToDom(const String &xml)
return doc.documentElement();
}
+template<typename T>
+static QByteArray packetToXml(const T &packet)
+{
+ QBuffer buffer;
+ buffer.open(QIODevice::ReadWrite);
+ QXmlStreamWriter writer(&buffer);
+ packet.toXml(&writer);
+ return buffer.data();
+}
+
template<class T>
static void parsePacket(T &packet, const QByteArray &xml)
{
@@ -56,13 +66,10 @@ static void parsePacket(T &packet, const QByteArray &xml)
template<class T>
static void serializePacket(T &packet, const QByteArray &xml)
{
- QBuffer buffer;
- buffer.open(QIODevice::ReadWrite);
- QXmlStreamWriter writer(&buffer);
- packet.toXml(&writer);
+ const auto data = packetToXml(packet);
qDebug() << "expect " << xml;
- qDebug() << "writing" << buffer.data();
- QCOMPARE(buffer.data(), xml);
+ qDebug() << "writing" << data;
+ QCOMPARE(data, xml);
}
template<class T>