diff options
| author | Melvin Keskin <melvo@olomono.de> | 2022-01-23 19:23:15 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-04-07 19:33:45 +0200 |
| commit | d124408fda096d896406f1362b2e5607668e2886 (patch) | |
| tree | 90bc90fcb114c6b202246eb705ab3a1967c65da0 /tests | |
| parent | 2312f95365b03b3fedd2e672b2e0cec98dae3cde (diff) | |
| download | qxmpp-d124408fda096d896406f1362b2e5607668e2886.tar.gz | |
tests: OmemoData: Add function for checking multiple XML strings
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/qxmppomemodata/tst_qxmppomemodata.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/qxmppomemodata/tst_qxmppomemodata.cpp b/tests/qxmppomemodata/tst_qxmppomemodata.cpp index 4c4ed8e9..be89a93c 100644 --- a/tests/qxmppomemodata/tst_qxmppomemodata.cpp +++ b/tests/qxmppomemodata/tst_qxmppomemodata.cpp @@ -12,6 +12,32 @@ #include "util.h" #include <QObject> +/// +/// Serializes data and compares it to multiple XML representations. +/// It fails if no comparison succeeds. +/// +template<class T> +static void serializePacket(T &packet, const QVector<QByteArray> &xmls) +{ + auto isSerializationSuccessful = false; + const auto data = packetToXml(packet); + + for (const auto &xml : xmls) { + auto processedXml = xml; + processedXml.replace(u'\'', u'"'); + + qDebug() << "expect " << processedXml; + qDebug() << "writing" << data; + + if (data == processedXml) { + isSerializationSuccessful = true; + break; + } + } + + QVERIFY2(isSerializationSuccessful, "No XML data equals the serialized packet"); +} + class tst_QXmppOmemoData : public QObject { Q_OBJECT |
