/* * Copyright (C) 2008-2019 The QXmpp developers * * Author: * Jeremy Lainé * * Source: * https://github.com/qxmpp-project/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 #include "QXmppRosterIq.h" #include "util.h" class tst_QXmppRosterIq : public QObject { Q_OBJECT private slots: void testItem_data(); void testItem(); void testVersion_data(); void testVersion(); }; void tst_QXmppRosterIq::testItem_data() { QTest::addColumn("xml"); QTest::addColumn("name"); QTest::addColumn("subscriptionType"); QTest::newRow("none") << QByteArray("") << "" << int(QXmppRosterIq::Item::None); QTest::newRow("from") << QByteArray("") << "" << int(QXmppRosterIq::Item::From); QTest::newRow("to") << QByteArray("") << "" << int(QXmppRosterIq::Item::To); QTest::newRow("both") << QByteArray("") << "" << int(QXmppRosterIq::Item::Both); QTest::newRow("remove") << QByteArray("") << "" << int(QXmppRosterIq::Item::Remove); QTest::newRow("notset") << QByteArray("") << "" << int(QXmppRosterIq::Item::NotSet); QTest::newRow("name") << QByteArray("") << "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()); QCOMPARE(item.name(), name); QCOMPARE(int(item.subscriptionType()), subscriptionType); QCOMPARE(item.subscriptionStatus(), QString()); serializePacket(item, xml); } void tst_QXmppRosterIq::testVersion_data() { QTest::addColumn("xml"); QTest::addColumn("version"); QTest::newRow("noversion") << QByteArray("") << ""; QTest::newRow("version") << QByteArray("") << "3345678"; } void tst_QXmppRosterIq::testVersion() { QFETCH(QByteArray, xml); QFETCH(QString, version); QXmppRosterIq iq; parsePacket(iq, xml); QCOMPARE(iq.version(), version); serializePacket(iq, xml); } QTEST_MAIN(tst_QXmppRosterIq) #include "tst_qxmpprosteriq.moc"