diff options
| author | Linus Jahn <lnj@kaidan.im> | 2019-10-22 21:04:15 +0200 |
|---|---|---|
| committer | LNJ <lnj@kaidan.im> | 2019-10-23 12:13:18 +0200 |
| commit | 86ca79a0d5480a307e6117798e3c216ad23fca51 (patch) | |
| tree | ad96f6bf62da97d8a4e891f68a0326840b079330 /tests | |
| parent | dfec49b06fc305cc55631e5473b9ba19c729cd03 (diff) | |
| download | qxmpp-86ca79a0d5480a307e6117798e3c216ad23fca51.tar.gz | |
Add minimal test for QXmppClient
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | tests/qxmppclient/tst_qxmppclient.cpp | 81 |
2 files changed, 82 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index bde85901..8cab71a7 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -18,6 +18,7 @@ add_simple_test(qxmpparchiveiq) add_simple_test(qxmppbindiq) add_simple_test(qxmppcallmanager) add_simple_test(qxmppcarbonmanager) +add_simple_test(qxmppclient) add_simple_test(qxmppdataform) add_simple_test(qxmppdiscoveryiq) add_simple_test(qxmppentitytimeiq) diff --git a/tests/qxmppclient/tst_qxmppclient.cpp b/tests/qxmppclient/tst_qxmppclient.cpp new file mode 100644 index 00000000..a848d67d --- /dev/null +++ b/tests/qxmppclient/tst_qxmppclient.cpp @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2008-2019 The QXmpp developers + * + * Authors: + * Linus Jahn + * + * 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 <QObject> + +#include "QXmppClient.h" +#include "QXmppLogger.h" +#include "QXmppMessage.h" +#include "util.h" + +class tst_QXmppClient : public QObject +{ + Q_OBJECT + +private slots: + void initTestCase(); + + void testSendMessage(); + void handleMessageSent(QXmppLogger::MessageType type, const QString &text) const; + +private: + QXmppClient *client; +}; + +void tst_QXmppClient::handleMessageSent(QXmppLogger::MessageType type, const QString& text) const +{ + QCOMPARE(type, QXmppLogger::MessageType::SentMessage); + + QXmppMessage msg; + parsePacket(msg, text.toUtf8()); + + QCOMPARE(msg.from(), QString()); + QCOMPARE(msg.to(), QStringLiteral("support@qxmpp.org")); + QCOMPARE(msg.body(), QStringLiteral("implement XEP-* plz")); +} + +void tst_QXmppClient::initTestCase() +{ + client = new QXmppClient(this); +} + +void tst_QXmppClient::testSendMessage() +{ + QXmppLogger logger; + logger.setLoggingType(QXmppLogger::SignalLogging); + client->setLogger(&logger); + + connect(&logger, &QXmppLogger::message, this, &tst_QXmppClient::handleMessageSent); + + client->sendMessage( + QStringLiteral("support@qxmpp.org"), + QStringLiteral("implement XEP-* plz") + ); + + // see handleMessageSent() + + client->setLogger(nullptr); +} + +QTEST_MAIN(tst_QXmppClient) +#include "tst_qxmppclient.moc" |
