From 420fddae862b0f67e7d8fe712006525c0239154e Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Sun, 5 Apr 2020 12:48:58 +0200 Subject: QXmppMessage: Add parent thread attribute from RFC6121 The 'parent' attribute for element in messages has been introduced in RFC6121. This commit adds parsing and serialization for it, including unit tests. --- tests/qxmppmessage/tst_qxmppmessage.cpp | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to 'tests/qxmppmessage/tst_qxmppmessage.cpp') diff --git a/tests/qxmppmessage/tst_qxmppmessage.cpp b/tests/qxmppmessage/tst_qxmppmessage.cpp index bfd4daec..e9596799 100644 --- a/tests/qxmppmessage/tst_qxmppmessage.cpp +++ b/tests/qxmppmessage/tst_qxmppmessage.cpp @@ -72,38 +72,52 @@ void tst_QXmppMessage::testBasic_data() QTest::addColumn("body"); QTest::addColumn("subject"); QTest::addColumn("thread"); + QTest::addColumn("parentThread"); QTest::newRow("error") << QByteArray(R"()") << int(QXmppMessage::Error) - << QString() << QString() << QString(); + << QString() << QString() << QString() << QString(); QTest::newRow("normal") << QByteArray(R"()") << int(QXmppMessage::Normal) - << QString() << QString() << QString(); + << QString() << QString() << QString() << QString(); QTest::newRow("chat") << QByteArray(R"()") << int(QXmppMessage::Chat) - << QString() << QString() << QString(); + << QString() << QString() << QString() << QString(); QTest::newRow("groupchat") << QByteArray(R"()") << int(QXmppMessage::GroupChat) - << QString() << QString() << QString(); + << QString() << QString() << QString() << QString(); QTest::newRow("headline") << QByteArray(R"()") << int(QXmppMessage::Headline) - << QString() << QString() << QString(); + << QString() << QString() << QString() << QString(); + + QTest::newRow("no-parent-thread") + << QByteArray("" + "test subject" + "test body & stuff" + "0e3141cd80894871a68e6fe6b1ec56fa" + "") + << int(QXmppMessage::Normal) + << "test body & stuff" + << "test subject" + << "0e3141cd80894871a68e6fe6b1ec56fa" + << QString(); QTest::newRow("full") << QByteArray("" "test subject" "test body & stuff" - "test thread" + "0e3141cd80894871a68e6fe6b1ec56fa" "") << int(QXmppMessage::Normal) << "test body & stuff" << "test subject" - << "test thread"; + << "0e3141cd80894871a68e6fe6b1ec56fa" + << "e0ffe42b28561960c6b12b944a092794b9683a38"; } void tst_QXmppMessage::testBasic() @@ -113,6 +127,7 @@ void tst_QXmppMessage::testBasic() QFETCH(QString, body); QFETCH(QString, subject); QFETCH(QString, thread); + QFETCH(QString, parentThread); QXmppMessage message; parsePacket(message, xml); @@ -123,6 +138,7 @@ void tst_QXmppMessage::testBasic() QCOMPARE(message.body(), body); QCOMPARE(message.subject(), subject); QCOMPARE(message.thread(), thread); + QCOMPARE(message.parentThread(), parentThread); QCOMPARE(message.state(), QXmppMessage::None); QCOMPARE(message.isAttentionRequested(), false); QCOMPARE(message.isReceiptRequested(), false); @@ -147,6 +163,7 @@ void tst_QXmppMessage::testBasic() message.setBody(body); message.setSubject(subject); message.setThread(thread); + message.setParentThread(parentThread); serializePacket(message, xml); } -- cgit v1.2.3