diff options
| author | Olivier Goffart <ogoffart@woboq.com> | 2012-07-06 17:48:33 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-16 16:13:37 +0200 |
| commit | 1b445c310f9a3978c850c75f4070ba0ad7cb0523 (patch) | |
| tree | 51fee5fb84e5f296bb5e73cd46e2f0616b149b34 /tests/tests.cpp | |
| parent | 2c54c28a78bde8bfa40652fe01bf810945bfc027 (diff) | |
| download | qxmpp-1b445c310f9a3978c850c75f4070ba0ad7cb0523.tar.gz | |
Introduce QXmppResultSetQuery/Reply to handle XEP-0059
Diffstat (limited to 'tests/tests.cpp')
| -rw-r--r-- | tests/tests.cpp | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/tests/tests.cpp b/tests/tests.cpp index 2bf32909..a97a7255 100644 --- a/tests/tests.cpp +++ b/tests/tests.cpp @@ -1592,6 +1592,136 @@ void TestXmlRpc::testResponseFault() serializePacket(iq, xml); } +void TestRsm::testQuery_data() +{ + QTest::addColumn<QByteArray>("xml"); + QTest::addColumn<int>("max"); + QTest::addColumn<int>("index"); + QTest::addColumn<QString>("before"); + QTest::addColumn<QString>("after"); + + QTest::newRow("Example 3") << + QByteArray("<set xmlns=\"http://jabber.org/protocol/rsm\">" + "<max>10</max>" + "</set>") + << 10 << -1 << QString() << QString(); + + QTest::newRow("Example 5") << + QByteArray("<set xmlns=\"http://jabber.org/protocol/rsm\">" + "<max>10</max>" + "<after>peterpan@neverland.lit</after>" + "</set>") + << 10 << -1 << QString() << QString("peterpan@neverland.lit"); + + QTest::newRow("Example 5") << + QByteArray("<set xmlns=\"http://jabber.org/protocol/rsm\">" + "<max>10</max>" + "<before>peter@pixyland.org</before>" + "</set>") + << 10 << -1 << QString("peter@pixyland.org") << QString(); + + QTest::newRow("Example 11") << + QByteArray("<set xmlns=\"http://jabber.org/protocol/rsm\">" + "<max>10</max>" + "<before/>" + "</set>") + << 10 << -1 << QString("") << QString(); + + QTest::newRow("Example 12") << + QByteArray("<set xmlns=\"http://jabber.org/protocol/rsm\">" + "<max>10</max>" + "<index>371</index>" + "</set>") + << 10 << 371 << QString() << QString(); + + + QTest::newRow("Example 15") << + QByteArray("<set xmlns=\"http://jabber.org/protocol/rsm\">" + "<max>0</max>" + "</set>") + << 0 << -1 << QString() << QString(); +} + +void TestRsm::testQuery() +{ + QFETCH(QByteArray, xml); + QFETCH(int, max); + QFETCH(int, index); + QFETCH(QString, before); + QFETCH(QString, after); + + QXmppResultSetQuery iq; + parsePacket(iq, xml); + QCOMPARE(iq.max(), max); + QCOMPARE(iq.index(), index); + QCOMPARE(iq.before(), before); + QCOMPARE(iq.before().isNull(), before.isNull()); + QCOMPARE(iq.after(), after); + QCOMPARE(iq.after().isNull(), after.isNull()); + serializePacket(iq, xml); +} + +void TestRsm::testReply_data() +{ + QTest::addColumn<QByteArray>("xml"); + QTest::addColumn<int>("count"); + QTest::addColumn<int>("index"); + QTest::addColumn<QString>("first"); + QTest::addColumn<QString>("last"); + + QTest::newRow("Example 4") << + QByteArray( "<set xmlns=\"http://jabber.org/protocol/rsm\">" + "<first index=\"0\">stpeter@jabber.org</first>" + "<last>peterpan@neverland.lit</last>" + "<count>800</count>" + "</set>") + << 800 << 0 << QString("stpeter@jabber.org") << QString("peterpan@neverland.lit"); + + QTest::newRow("Example 6") << + QByteArray( "<set xmlns=\"http://jabber.org/protocol/rsm\">" + "<first index=\"0\">stpeter@jabber.org</first>" + "<last>peterpan@neverland.lit</last>" + "<count>800</count>" + "</set>") + << 800 << 0 << QString("stpeter@jabber.org") << QString("peterpan@neverland.lit"); + QTest::newRow("Example 4") << + QByteArray( "<set xmlns=\"http://jabber.org/protocol/rsm\">" + "<first index=\"10\">peter@pixyland.org</first>" + "<last>peter@rabbit.lit</last>" + "<count>800</count>" + "</set>") + << 800 << 10 << QString("peter@pixyland.org") << QString("peter@rabbit.lit"); + + QTest::newRow("Example 7") << + QByteArray( "<set xmlns=\"http://jabber.org/protocol/rsm\">" + "<count>790</count>" + "</set>") + << 790 << -1 << QString() << QString(); +} + + +void TestRsm::testReply() +{ + QFETCH(QByteArray, xml); + QFETCH(int, count); + QFETCH(int, index); + QFETCH(QString, first); + QFETCH(QString, last); + + QXmppResultSetReply iq; + parsePacket(iq, xml); + QCOMPARE(iq.count(), count); + QCOMPARE(iq.index(), index); + QCOMPARE(iq.first(), first); + QCOMPARE(iq.first().isNull(), first.isNull()); + QCOMPARE(iq.last(), last); + QCOMPARE(iq.last().isNull(), last.isNull()); + serializePacket(iq, xml); +} + + + + int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); @@ -1626,6 +1756,9 @@ int main(int argc, char *argv[]) TestXmlRpc testXmlRpc; errors += QTest::qExec(&testXmlRpc); + TestRsm testRsm; + errors += QTest::qExec(&testRsm); + if (errors) { qWarning() << "Total failed tests:" << errors; |
