1
0
mirror of https://github.com/qt/qtmqtt.git synced 2026-10-25 16:16:26 +00:00

Add some tests for append

This commit is contained in:
Maurice Kalinowski 2017-01-24 13:10:16 +01:00
parent 4f40bbf299
commit cc16b02378

View File

@ -13,6 +13,7 @@ private Q_SLOTS:
void initTestCase();
void cleanupTestCase();
void header();
void append();
void simple_data();
void simple();
};
@ -50,6 +51,41 @@ void Tst_QMqttControlPacket::header()
}
}
void Tst_QMqttControlPacket::append()
{
QMqttControlPacket packet;
QCOMPARE(packet.payload().size(), 0);
packet.append('0');
QCOMPARE(packet.payload().size(), 1);
QVERIFY(packet.payload() == QByteArray("0"));
packet.clear();
QCOMPARE(packet.payload().size(), 0);
const quint16 value = 100;
packet.append(value);
QByteArray payload = packet.payload();
QCOMPARE(payload.size(), 2);
const quint16 valueBigEndian = qToBigEndian<quint16>(value);
const quint16 payloadUint16 = *reinterpret_cast<const quint16 *>(payload.constData());
QCOMPARE(payloadUint16, valueBigEndian);
packet.clear();
QCOMPARE(packet.payload().size(), 0);
const QByteArray data("some data in the packet");
packet.append(data);
payload = packet.payload();
QCOMPARE(payload.size(), data.size() + 2);
const QByteArray partSize = payload.left(2);
const QByteArray partContent = payload.mid(2);
const int partSizeInt = qFromBigEndian<quint16>(*reinterpret_cast<const quint16 *>(partSize.constData()));
QCOMPARE(partSizeInt, data.size());
QCOMPARE(partContent, data);
}
void Tst_QMqttControlPacket::simple_data()
{
QTest::addColumn<QString>("data");