aboutsummaryrefslogtreecommitdiff
path: root/tests/qxmppversioniq
diff options
context:
space:
mode:
Diffstat (limited to 'tests/qxmppversioniq')
-rw-r--r--tests/qxmppversioniq/qxmppversioniq.pro3
-rw-r--r--tests/qxmppversioniq/tst_qxmppversioniq.cpp79
2 files changed, 82 insertions, 0 deletions
diff --git a/tests/qxmppversioniq/qxmppversioniq.pro b/tests/qxmppversioniq/qxmppversioniq.pro
new file mode 100644
index 00000000..f018fe01
--- /dev/null
+++ b/tests/qxmppversioniq/qxmppversioniq.pro
@@ -0,0 +1,3 @@
+include(../tests.pri)
+TARGET = tst_qxmppversioniq
+SOURCES += tst_qxmppversioniq.cpp
diff --git a/tests/qxmppversioniq/tst_qxmppversioniq.cpp b/tests/qxmppversioniq/tst_qxmppversioniq.cpp
new file mode 100644
index 00000000..c1371fcd
--- /dev/null
+++ b/tests/qxmppversioniq/tst_qxmppversioniq.cpp
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2008-2012 The QXmpp developers
+ *
+ * Authors:
+ * Jeremy Lainé
+ * Manjeet Dahiya
+ *
+ * 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 <QObject>
+#include "QXmppVersionIq.h"
+#include "util.h"
+
+class tst_QXmppVersionIq : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void testVersionGet();
+ void testVersionResult();
+};
+
+void tst_QXmppVersionIq::testVersionGet()
+{
+ const QByteArray xmlGet(
+ "<iq id=\"version_1\" to=\"juliet@capulet.com/balcony\" "
+ "from=\"romeo@montague.net/orchard\" type=\"get\">"
+ "<query xmlns=\"jabber:iq:version\"/></iq>");
+
+ QXmppVersionIq verIqGet;
+ parsePacket(verIqGet, xmlGet);
+ QCOMPARE(verIqGet.id(), QLatin1String("version_1"));
+ QCOMPARE(verIqGet.to(), QLatin1String("juliet@capulet.com/balcony"));
+ QCOMPARE(verIqGet.from(), QLatin1String("romeo@montague.net/orchard"));
+ QCOMPARE(verIqGet.type(), QXmppIq::Get);
+ serializePacket(verIqGet, xmlGet);
+}
+
+void tst_QXmppVersionIq::testVersionResult()
+{
+ const QByteArray xmlResult(
+ "<iq id=\"version_1\" to=\"romeo@montague.net/orchard\" "
+ "from=\"juliet@capulet.com/balcony\" type=\"result\">"
+ "<query xmlns=\"jabber:iq:version\">"
+ "<name>qxmpp</name>"
+ "<os>Windows-XP</os>"
+ "<version>0.2.0</version>"
+ "</query></iq>");
+
+ QXmppVersionIq verIqResult;
+ parsePacket(verIqResult, xmlResult);
+ QCOMPARE(verIqResult.id(), QLatin1String("version_1"));
+ QCOMPARE(verIqResult.to(), QLatin1String("romeo@montague.net/orchard"));
+ QCOMPARE(verIqResult.from(), QLatin1String("juliet@capulet.com/balcony"));
+ QCOMPARE(verIqResult.type(), QXmppIq::Result);
+ QCOMPARE(verIqResult.name(), QString("qxmpp"));
+ QCOMPARE(verIqResult.version(), QString("0.2.0"));
+ QCOMPARE(verIqResult.os(), QString("Windows-XP"));
+
+ serializePacket(verIqResult, xmlResult);
+}
+
+QTEST_MAIN(tst_QXmppVersionIq)
+#include "tst_qxmppversioniq.moc"