From 51cadc0c4cac8f8713ec740aab9c8b1099160d55 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Sat, 21 Jul 2012 10:23:08 +0200 Subject: improve QXmppMessage test coverage --- tests/message.cpp | 123 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 85 insertions(+), 38 deletions(-) (limited to 'tests/message.cpp') diff --git a/tests/message.cpp b/tests/message.cpp index 94ff9155..8671edba 100644 --- a/tests/message.cpp +++ b/tests/message.cpp @@ -26,19 +26,45 @@ #include "message.h" #include "tests.h" -void tst_QXmppMessage::testMessage() +void tst_QXmppMessage::testBasic_data() { - const QByteArray xml( - ""); + QTest::addColumn("xml"); + QTest::addColumn("type"); + QTest::addColumn("body"); + QTest::addColumn("subject"); + QTest::addColumn("thread"); + + QTest::newRow("minimal") + << QByteArray("") + << int(QXmppMessage::Normal) + << QString() << QString() << QString(); + + QTest::newRow("full") + << QByteArray("" + "test subject" + "test body & stuff" + "test thread" + "") + << int(QXmppMessage::Normal) + << "test body & stuff" << "test subject" << "test thread"; +} + +void tst_QXmppMessage::testBasic() +{ + QFETCH(QByteArray, xml); + QFETCH(int, type); + QFETCH(QString, body); + QFETCH(QString, subject); + QFETCH(QString, thread); QXmppMessage message; parsePacket(message, xml); QCOMPARE(message.to(), QString("foo@example.com/QXmpp")); QCOMPARE(message.from(), QString("bar@example.com/QXmpp")); - QCOMPARE(message.type(), QXmppMessage::Normal); - QCOMPARE(message.body(), QString()); - QCOMPARE(message.subject(), QString()); - QCOMPARE(message.thread(), QString()); + QCOMPARE(int(message.type()), type); + QCOMPARE(message.body(), body); + QCOMPARE(message.subject(), subject); + QCOMPARE(message.thread(), thread); QCOMPARE(message.state(), QXmppMessage::None); QCOMPARE(message.isAttentionRequested(), false); QCOMPARE(message.isReceiptRequested(), false); @@ -119,51 +145,72 @@ void tst_QXmppMessage::testMessageReceipt() QCOMPARE(old.receiptId(), QString("richard2-4.1.247")); } -void tst_QXmppMessage::testMessageFull() +void tst_QXmppMessage::testDelay_data() { - const QByteArray xml( - "" - "test subject" - "test body & stuff" - "test thread" - "" - ""); + QTest::addColumn("xml"); + QTest::addColumn("stamp"); - QXmppMessage message; - parsePacket(message, xml); - QCOMPARE(message.to(), QString("foo@example.com/QXmpp")); - QCOMPARE(message.from(), QString("bar@example.com/QXmpp")); - QCOMPARE(message.type(), QXmppMessage::Normal); - QCOMPARE(message.body(), QString("test body & stuff")); - QCOMPARE(message.subject(), QString("test subject")); - QCOMPARE(message.thread(), QString("test thread")); - QCOMPARE(message.state(), QXmppMessage::Composing); - serializePacket(message, xml); + QTest::newRow("delay") + << QByteArray("" + "" + "") + << QDateTime(QDate(2010, 06, 29), QTime(8, 23, 6), Qt::UTC); + + QTest::newRow("legacy") + << QByteArray("" + "" + "") + << QDateTime(QDate(2010, 06, 29), QTime(8, 23, 6), Qt::UTC); } -void tst_QXmppMessage::testMessageDelay() +void tst_QXmppMessage::testDelay() { - const QByteArray xml( - "" - "" - ""); + QFETCH(QByteArray, xml); + QFETCH(QDateTime, stamp); QXmppMessage message; parsePacket(message, xml); - QCOMPARE(message.stamp(), QDateTime(QDate(2010, 06, 29), QTime(8, 23, 6), Qt::UTC)); + QCOMPARE(message.stamp(), stamp); serializePacket(message, xml); } -void tst_QXmppMessage::testMessageLegacyDelay() +void tst_QXmppMessage::testState_data() { - const QByteArray xml( - "" - "" - ""); + QTest::addColumn("xml"); + QTest::addColumn("state"); + + QTest::newRow("none") + << QByteArray("") + << int(QXmppMessage::None); + + QTest::newRow("active") + << QByteArray("") + << int(QXmppMessage::Active); + + QTest::newRow("inactive") + << QByteArray("") + << int(QXmppMessage::Inactive); + + QTest::newRow("gone") + << QByteArray("") + << int(QXmppMessage::Gone); + + QTest::newRow("composing") + << QByteArray("") + << int(QXmppMessage::Composing); + + QTest::newRow("paused") + << QByteArray("") + << int(QXmppMessage::Paused); +} + +void tst_QXmppMessage::testState() +{ + QFETCH(QByteArray, xml); + QFETCH(int, state); QXmppMessage message; parsePacket(message, xml); - QCOMPARE(message.stamp(), QDateTime(QDate(2010, 06, 29), QTime(8, 23, 6), Qt::UTC)); + QCOMPARE(int(message.state()), state); serializePacket(message, xml); } - -- cgit v1.2.3