aboutsummaryrefslogtreecommitdiff
path: root/tests/qxmpprtcppacket/tst_qxmpprtcppacket.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2015-08-26 13:27:43 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2015-08-26 13:27:43 +0200
commit7cfe1770d153512b538c97856c06436b2c34217b (patch)
treeb88d3c109dde16903a3718fe513cb578fe1f6923 /tests/qxmpprtcppacket/tst_qxmpprtcppacket.cpp
parent459829c2d30e64b18ab4ed3b9c82e7b5f9ccd7ac (diff)
downloadqxmpp-7cfe1770d153512b538c97856c06436b2c34217b.tar.gz
RTCP: parse goodbye packet
Diffstat (limited to 'tests/qxmpprtcppacket/tst_qxmpprtcppacket.cpp')
-rw-r--r--tests/qxmpprtcppacket/tst_qxmpprtcppacket.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/qxmpprtcppacket/tst_qxmpprtcppacket.cpp b/tests/qxmpprtcppacket/tst_qxmpprtcppacket.cpp
index ca6f312e..9a3b6540 100644
--- a/tests/qxmpprtcppacket/tst_qxmpprtcppacket.cpp
+++ b/tests/qxmpprtcppacket/tst_qxmpprtcppacket.cpp
@@ -31,6 +31,8 @@ class tst_QXmppRtcpPacket : public QObject
private slots:
void testBad();
+ void testGoodbye();
+ void testGoodbyeWithReason();
void testReceiverReport();
void testSenderReport();
void testSenderReportWithReceiverReport();
@@ -45,6 +47,50 @@ void tst_QXmppRtcpPacket::testBad()
QCOMPARE(packet.decode(QByteArray()), false);
}
+void tst_QXmppRtcpPacket::testGoodbye()
+{
+ const QByteArray data = QByteArray::fromHex("81cb000133425619");
+
+ QXmppRtcpPacket packet;
+ QVERIFY(packet.decode(data));
+
+ QCOMPARE(packet.goodbyeReason(), QString());
+ QCOMPARE(packet.goodbyeSsrcs().size(), 1);
+ QCOMPARE(packet.goodbyeSsrcs()[0], quint32(859985433));
+ QCOMPARE(packet.receiverReports().size(), 0);
+ QCOMPARE(packet.senderInfo().ntpStamp(), quint64(0));
+ QCOMPARE(packet.senderInfo().octetCount(), quint32(0));
+ QCOMPARE(packet.senderInfo().packetCount(), quint32(0));
+ QCOMPARE(packet.senderInfo().rtpStamp(), quint32(0));
+ QCOMPARE(packet.sourceDescriptions().size(), 0);
+ QCOMPARE(packet.ssrc(), quint32(0));
+ QCOMPARE(packet.type(), quint8(QXmppRtcpPacket::Goodbye));
+
+ QCOMPARE(packet.encode(), data);
+}
+
+void tst_QXmppRtcpPacket::testGoodbyeWithReason()
+{
+ const QByteArray data = QByteArray::fromHex("81cb0003334256190462796521000000");
+
+ QXmppRtcpPacket packet;
+ QVERIFY(packet.decode(data));
+
+ QCOMPARE(packet.goodbyeReason(), QLatin1String("bye!"));
+ QCOMPARE(packet.goodbyeSsrcs().size(), 1);
+ QCOMPARE(packet.goodbyeSsrcs()[0], quint32(859985433));
+ QCOMPARE(packet.receiverReports().size(), 0);
+ QCOMPARE(packet.senderInfo().ntpStamp(), quint64(0));
+ QCOMPARE(packet.senderInfo().octetCount(), quint32(0));
+ QCOMPARE(packet.senderInfo().packetCount(), quint32(0));
+ QCOMPARE(packet.senderInfo().rtpStamp(), quint32(0));
+ QCOMPARE(packet.sourceDescriptions().size(), 0);
+ QCOMPARE(packet.ssrc(), quint32(0));
+ QCOMPARE(packet.type(), quint8(QXmppRtcpPacket::Goodbye));
+
+ QCOMPARE(packet.encode(), data);
+}
+
void tst_QXmppRtcpPacket::testReceiverReport()
{
const QByteArray data = QByteArray::fromHex("81c9000741f3bca22886dfa00000000000005eb90000001000000000fffbdae2");
@@ -52,6 +98,8 @@ void tst_QXmppRtcpPacket::testReceiverReport()
QXmppRtcpPacket packet;
QVERIFY(packet.decode(data));
+ QCOMPARE(packet.goodbyeReason(), QString());
+ QCOMPARE(packet.goodbyeSsrcs().size(), 0);
QCOMPARE(packet.receiverReports().size(), 1);
QCOMPARE(packet.receiverReports()[0].ssrc(), quint32(679927712));
QCOMPARE(packet.senderInfo().ntpStamp(), quint64(0));
@@ -72,6 +120,8 @@ void tst_QXmppRtcpPacket::testSenderReport()
QXmppRtcpPacket packet;
QVERIFY(packet.decode(data));
+ QCOMPARE(packet.goodbyeReason(), QString());
+ QCOMPARE(packet.goodbyeSsrcs().size(), 0);
QCOMPARE(packet.receiverReports().size(), 0);
QCOMPARE(packet.senderInfo().ntpStamp(), quint64(15672505252348484072ULL));
QCOMPARE(packet.senderInfo().octetCount(), quint32(18560));
@@ -91,6 +141,8 @@ void tst_QXmppRtcpPacket::testSenderReportWithReceiverReport()
QXmppRtcpPacket packet;
QVERIFY(packet.decode(data));
+ QCOMPARE(packet.goodbyeReason(), QString());
+ QCOMPARE(packet.goodbyeSsrcs().size(), 0);
QCOMPARE(packet.receiverReports().size(), 1);
QCOMPARE(packet.receiverReports()[0].ssrc(), quint32(2176590418));
QCOMPARE(packet.senderInfo().ntpStamp(), quint64(14952153165080187948ULL));
@@ -111,6 +163,8 @@ void tst_QXmppRtcpPacket::testSourceDescription()
QXmppRtcpPacket packet;
QVERIFY(packet.decode(data));
+ QCOMPARE(packet.goodbyeReason(), QString());
+ QCOMPARE(packet.goodbyeSsrcs().size(), 0);
QCOMPARE(packet.receiverReports().size(), 0);
QCOMPARE(packet.senderInfo().ntpStamp(), quint64(0));
QCOMPARE(packet.senderInfo().octetCount(), quint32(0));