diff options
Diffstat (limited to 'tests/all/roster.cpp')
| -rw-r--r-- | tests/all/roster.cpp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/tests/all/roster.cpp b/tests/all/roster.cpp new file mode 100644 index 00000000..2b664212 --- /dev/null +++ b/tests/all/roster.cpp @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2008-2012 The QXmpp developers + * + * Author: + * Jeremy Lainé + * + * Source: + * http://code.google.com/p/qxmpp + * + * This file is a part of QXmpp library. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + */ + +#include "QXmppRosterIq.h" + +#include "roster.h" +#include "util.h" + +void tst_QXmppRosterIq::testItem_data() +{ + QTest::addColumn<QByteArray>("xml"); + QTest::addColumn<QString>("name"); + QTest::addColumn<int>("subscriptionType"); + + QTest::newRow("none") + << QByteArray("<item jid=\"foo@example.com\" subscription=\"none\"/>") + << "" + << int(QXmppRosterIq::Item::None); + QTest::newRow("from") + << QByteArray("<item jid=\"foo@example.com\" subscription=\"from\"/>") + << "" + << int(QXmppRosterIq::Item::From); + QTest::newRow("to") + << QByteArray("<item jid=\"foo@example.com\" subscription=\"to\"/>") + << "" + << int(QXmppRosterIq::Item::To); + QTest::newRow("both") + << QByteArray("<item jid=\"foo@example.com\" subscription=\"both\"/>") + << "" + << int(QXmppRosterIq::Item::Both); + QTest::newRow("remove") + << QByteArray("<item jid=\"foo@example.com\" subscription=\"remove\"/>") + << "" + << int(QXmppRosterIq::Item::Remove); + QTest::newRow("notset") + << QByteArray("<item jid=\"foo@example.com\"/>") + << "" + << int(QXmppRosterIq::Item::NotSet); + + QTest::newRow("name") + << QByteArray("<item jid=\"foo@example.com\" name=\"foo bar\"/>") + << "foo bar" + << int(QXmppRosterIq::Item::NotSet); +} + +void tst_QXmppRosterIq::testItem() +{ + QFETCH(QByteArray, xml); + QFETCH(QString, name); + QFETCH(int, subscriptionType); + + QXmppRosterIq::Item item; + parsePacket(item, xml); + QCOMPARE(item.bareJid(), QLatin1String("foo@example.com")); + QCOMPARE(item.groups(), QSet<QString>()); + QCOMPARE(item.name(), name); + QCOMPARE(int(item.subscriptionType()), subscriptionType); + QCOMPARE(item.subscriptionStatus(), QString()); + serializePacket(item, xml); +} + |
