summaryrefslogtreecommitdiffstats
path: root/src/libcommuni/tests/auto/ircuser
diff options
context:
space:
mode:
authorMarkus Mittendrein <git@maxmitti.tk>2015-09-09 19:00:56 +0200
committerMarkus Mittendrein <git@maxmitti.tk>2015-09-09 19:02:23 +0200
commit8a6d4b06f2291c363f3dea17837ed20893852453 (patch)
treec091375499e35eaa1810586454e0834c06e6c9b2 /src/libcommuni/tests/auto/ircuser
parentf554a27046f203e56a07baaf214d90834942e3f5 (diff)
downloadmanager-8a6d4b06f2291c363f3dea17837ed20893852453.tar.gz
manager-8a6d4b06f2291c363f3dea17837ed20893852453.zip
Cleanup repo with some directories
Diffstat (limited to 'src/libcommuni/tests/auto/ircuser')
-rw-r--r--src/libcommuni/tests/auto/ircuser/ircuser.pro7
-rw-r--r--src/libcommuni/tests/auto/ircuser/tst_ircuser.cpp86
2 files changed, 93 insertions, 0 deletions
diff --git a/src/libcommuni/tests/auto/ircuser/ircuser.pro b/src/libcommuni/tests/auto/ircuser/ircuser.pro
new file mode 100644
index 0000000..b81617f
--- /dev/null
+++ b/src/libcommuni/tests/auto/ircuser/ircuser.pro
@@ -0,0 +1,7 @@
+######################################################################
+# Communi
+######################################################################
+
+SOURCES += tst_ircuser.cpp
+
+include(../auto.pri)
diff --git a/src/libcommuni/tests/auto/ircuser/tst_ircuser.cpp b/src/libcommuni/tests/auto/ircuser/tst_ircuser.cpp
new file mode 100644
index 0000000..c575c14
--- /dev/null
+++ b/src/libcommuni/tests/auto/ircuser/tst_ircuser.cpp
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2008-2014 The Communi Project
+ *
+ * This test is free, and not covered by the BSD license. There is no
+ * restriction applied to their modification, redistribution, using and so on.
+ * You can study them, modify them, use them in your own program - either
+ * completely or partially.
+ */
+
+#include "ircuser.h"
+#include <QtTest/QtTest>
+#include <QtCore/QRegExp>
+#ifdef Q_OS_LINUX
+#include "ircuser_p.h"
+#endif // Q_OS_LINUX
+
+class tst_IrcUser : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void testDefaults();
+ void testSignals();
+ void testDebug();
+};
+
+void tst_IrcUser::testDefaults()
+{
+ IrcUser user;
+ QVERIFY(user.title().isEmpty());
+ QVERIFY(user.name().isEmpty());
+ QVERIFY(user.prefix().isEmpty());
+ QVERIFY(user.mode().isEmpty());
+ QVERIFY(!user.isServOp());
+ QVERIFY(!user.isAway());
+ QVERIFY(!user.channel());
+}
+
+void tst_IrcUser::testSignals()
+{
+ IrcUser user;
+ QSignalSpy titleSpy(&user, SIGNAL(titleChanged(QString)));
+ QSignalSpy nameSpy(&user, SIGNAL(nameChanged(QString)));
+ QSignalSpy prefixSpy(&user, SIGNAL(prefixChanged(QString)));
+ QSignalSpy modeSpy(&user, SIGNAL(modeChanged(QString)));
+ QSignalSpy servOpSpy(&user, SIGNAL(servOpChanged(bool)));
+ QSignalSpy awaySpy(&user, SIGNAL(awayChanged(bool)));
+ QVERIFY(titleSpy.isValid());
+ QVERIFY(nameSpy.isValid());
+ QVERIFY(prefixSpy.isValid());
+ QVERIFY(modeSpy.isValid());
+ QVERIFY(servOpSpy.isValid());
+ QVERIFY(awaySpy.isValid());
+}
+
+void tst_IrcUser::testDebug()
+{
+ QString str;
+ QDebug dbg(&str);
+
+ dbg << static_cast<IrcUser*>(0);
+ QCOMPARE(str.trimmed(), QString::fromLatin1("IrcUser(0x0)"));
+ str.clear();
+
+ IrcUser user;
+ dbg << &user;
+ QVERIFY(QRegExp("IrcUser\\(0x[0-9A-Fa-f]+\\) ").exactMatch(str));
+ str.clear();
+
+ user.setObjectName("obj");
+ dbg << &user;
+ QVERIFY(QRegExp("IrcUser\\(0x[0-9A-Fa-f]+, name=obj\\) ").exactMatch(str));
+ str.clear();
+
+#ifdef Q_OS_LINUX
+ // others have problems with symbols (win) or private headers (osx frameworks)
+ IrcUserPrivate::get(&user)->setName("usr");
+ dbg << &user;
+ QVERIFY(QRegExp("IrcUser\\(0x[0-9A-Fa-f]+, name=obj, user=usr\\) ").exactMatch(str));
+ str.clear();
+#endif // Q_OS_LINUX
+}
+
+QTEST_MAIN(tst_IrcUser)
+
+#include "tst_ircuser.moc"