diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2015-10-14 14:50:58 +0200 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2015-10-14 14:50:58 +0200 |
| commit | 1a5fb5eca8d151034b5e54c505932d1add97a775 (patch) | |
| tree | 38b54edd03012972c6fe7bf1b8fa8365c1df42a8 /src/libcommuni/tests/auto/irccompleter | |
| parent | e7485b051ef4fe01330d5f51759177027d2678b6 (diff) | |
| download | manager-1a5fb5eca8d151034b5e54c505932d1add97a775.tar.gz manager-1a5fb5eca8d151034b5e54c505932d1add97a775.zip | |
Include libcommuni through git-submodules
Diffstat (limited to 'src/libcommuni/tests/auto/irccompleter')
| -rw-r--r-- | src/libcommuni/tests/auto/irccompleter/irccompleter.pro | 8 | ||||
| -rw-r--r-- | src/libcommuni/tests/auto/irccompleter/tst_irccompleter.cpp | 237 |
2 files changed, 0 insertions, 245 deletions
diff --git a/src/libcommuni/tests/auto/irccompleter/irccompleter.pro b/src/libcommuni/tests/auto/irccompleter/irccompleter.pro deleted file mode 100644 index 5d8306a..0000000 --- a/src/libcommuni/tests/auto/irccompleter/irccompleter.pro +++ /dev/null @@ -1,8 +0,0 @@ -###################################################################### -# Communi -###################################################################### - -SOURCES += tst_irccompleter.cpp - -include(../shared/shared.pri) -include(../auto.pri) diff --git a/src/libcommuni/tests/auto/irccompleter/tst_irccompleter.cpp b/src/libcommuni/tests/auto/irccompleter/tst_irccompleter.cpp deleted file mode 100644 index 5eef644..0000000 --- a/src/libcommuni/tests/auto/irccompleter/tst_irccompleter.cpp +++ /dev/null @@ -1,237 +0,0 @@ -/* - * 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 "irccompleter.h" -#include "ircbuffermodel.h" -#include "irccommandparser.h" -#include "ircchannel.h" -#include "ircbuffer.h" -#include <QtTest/QtTest> -#include "tst_ircclientserver.h" -#include "tst_ircdata.h" - -class tst_IrcCompleter : public tst_IrcClientServer -{ - Q_OBJECT - -private slots: - void testSuffix(); - void testBuffer(); - void testParser(); - - void testCompletion_data(); - void testCompletion(); - - void testReset(); -}; - -void tst_IrcCompleter::testSuffix() -{ - IrcCompleter completer; - QCOMPARE(completer.suffix(), QString(":")); - QCOMPARE(completer.property("suffix").toString(), QString(":")); - - QSignalSpy spy(&completer, SIGNAL(suffixChanged(QString))); - QVERIFY(spy.isValid()); - - completer.setSuffix(","); - QCOMPARE(completer.suffix(), QString(",")); - QCOMPARE(completer.property("suffix").toString(), QString(",")); - QCOMPARE(spy.count(), 1); - QCOMPARE(spy.last().at(0).toString(), QString(",")); -} - -void tst_IrcCompleter::testBuffer() -{ - qRegisterMetaType<IrcBuffer*>("IrcBuffer*"); - - IrcCompleter completer; - QVERIFY(!completer.buffer()); - - QSignalSpy spy(&completer, SIGNAL(bufferChanged(IrcBuffer*))); - QVERIFY(spy.isValid()); - - IrcBuffer* buffer = new IrcBuffer(&completer); - completer.setBuffer(buffer); - QCOMPARE(completer.buffer(), buffer); - QCOMPARE(completer.property("buffer").value<IrcBuffer*>(), buffer); - QCOMPARE(spy.count(), 1); - QCOMPARE(spy.last().at(0).value<IrcBuffer*>(), buffer); - - completer.setBuffer(0); - QVERIFY(!completer.buffer()); - QCOMPARE(spy.count(), 2); - QVERIFY(!spy.last().at(0).value<IrcBuffer*>()); -} - -void tst_IrcCompleter::testParser() -{ - qRegisterMetaType<IrcCommandParser*>("IrcCommandParser*"); - - IrcCompleter completer; - QVERIFY(!completer.parser()); - - QSignalSpy spy(&completer, SIGNAL(parserChanged(IrcCommandParser*))); - QVERIFY(spy.isValid()); - - IrcCommandParser* parser = new IrcCommandParser(&completer); - completer.setParser(parser); - QCOMPARE(completer.parser(), parser); - QCOMPARE(completer.property("parser").value<IrcCommandParser*>(), parser); - QCOMPARE(spy.count(), 1); - QCOMPARE(spy.last().at(0).value<IrcCommandParser*>(), parser); - - completer.setParser(0); - QVERIFY(!completer.parser()); - QCOMPARE(spy.count(), 2); - QVERIFY(!spy.last().at(0).value<IrcCommandParser*>()); -} - -Q_DECLARE_METATYPE(QList<int>) -void tst_IrcCompleter::testCompletion_data() -{ - QTest::addColumn<QString>("suffix"); - QTest::addColumn<QString>("text"); - QTest::addColumn<int>("cursor"); - QTest::addColumn<QStringList>("completions"); - QTest::addColumn<QList<int> >("positions"); - - for (int i = -1; i <= 3; ++i) - QTest::newRow("/j @ " + QByteArray::number(i)) << QString() << "/j" << i << QStringList("/JOIN ") << (QList<int>() << QString("/JOIN ").length()); - - QTest::newRow("/q #2") << QString() << "/q" << QString("/q").length() - << (QStringList() << "/QUERY " << "/QUIT ") - << (QList<int>() << QString("/QUERY ").length() << QString("/QUIT ").length()); - - QTest::newRow("/QUERY q") << QString() << "/quer q " << QString("/quer").length() - << (QStringList("/QUERY q ")) - << (QList<int>() << QString("/QUERY ").length()); - - QTest::newRow("/query q") << QString() << "/query q" << QString("/query q").length() - << (QStringList() << "/query quackgyver " << "/query quelx ") - << (QList<int>() << QString("/query quackgyver ").length() << QString("/query quelx ").length()); - - QTest::newRow("buffers") << QString() << "q" << QString("q").length() - << (QStringList() << "quackgyver " << "quelx ") - << (QList<int>() << QString("quackgyver ").length() << QString("quelx ").length()); - - QTest::newRow("repeat") << QString() << "qtassistant " << QString("qtassistant ").length() - << (QStringList() << "qtassistant " << "qtassistant ") - << (QList<int>() << QString("qtassistant ").length() << QString("qtassistant ").length()); - - QStringList names1; - QStringList names2; - QList<int> positions; - foreach (const QString& name, tst_IrcData::names()) { - if (name.startsWith("je", Qt::CaseInsensitive)) { - names1 += name + ": "; - names2 += name + ", "; - positions += name.length() + 2; - } - } - QTest::newRow("je...:") << ":" << "je" << 1 << names1 << positions; - QTest::newRow("je...,") << "," << "je" << 1 << names2 << positions; - - names1.clear(); - names2.clear(); - positions.clear(); - foreach (const QString& name, tst_IrcData::names()) { - if (name.startsWith("sa", Qt::CaseInsensitive)) { - names1 += "... " + name + " "; - positions += QString("... ").length() + name.length() + QString(" ").length(); - } - } - QTest::newRow("... sa") << QString() << "... sa" << QString("... ").length() << names1 << positions; - - QTest::newRow("spaces") << QString() << "/quit foo qt rest... " << QString("/quit foo qt ").length() - << QStringList("/quit foo qtassistant rest... ") - << (QList<int>() << QString("/quit foo qtassistant ").length()); -} - -void tst_IrcCompleter::testCompletion() -{ - QFETCH(QString, suffix); - QFETCH(QString, text); - QFETCH(int, cursor); - QFETCH(QStringList, completions); - QFETCH(QList<int>, positions); - - IrcBufferModel model(connection); - - connection->open(); - waitForOpened(); - waitForWritten(tst_IrcData::welcome()); - waitForWritten(tst_IrcData::join()); - - model.add("qout"); - model.add("qtassistant"); - - IrcCommandParser parser; - parser.setTriggers(QStringList("/")); - parser.addCommand(IrcCommand::Join, "JOIN <#channel> (<key>)"); - parser.addCommand(IrcCommand::Part, "PART (<#channel>) (<message...>)"); - parser.addCommand(IrcCommand::Kick, "KICK (<#channel>) <nick> (<reason...>)"); - parser.addCommand(IrcCommand::CtcpAction, "ME [target] <message...>"); - parser.addCommand(IrcCommand::CtcpAction, "ACTION <target> <message...>"); - parser.addCommand(IrcCommand::Custom, "QUERY <user>"); - parser.addCommand(IrcCommand::Quit, "QUIT (<message...>)"); - - IrcCompleter completer; - completer.setSuffix(suffix); - completer.setBuffer(model.get(0)); - completer.setParser(&parser); - - QSignalSpy spy(&completer, SIGNAL(completed(QString,int))); - QVERIFY(spy.isValid()); - - for (int i = 0; i < completions.count(); ++i) { - completer.complete(text, cursor); - QCOMPARE(spy.count(), i + 1); - QCOMPARE(spy.last().at(0).toString(), completions.at(i)); - QCOMPARE(spy.last().at(1).toInt(), positions.at(i)); - } -} - -void tst_IrcCompleter::testReset() -{ - IrcBufferModel model(connection); - connection->open(); - waitForOpened(); - waitForWritten(tst_IrcData::welcome()); - waitForWritten(tst_IrcData::join()); - IrcChannel* channel = model.get(0)->toChannel(); - QVERIFY(channel); - - IrcCompleter completer; - completer.setBuffer(channel); - - QSignalSpy spy(&completer, SIGNAL(completed(QString,int))); - QVERIFY(spy.isValid()); - - completer.complete("Guest", 5); - QCOMPARE(spy.count(), 1); - QString guest1 = spy.last().at(0).toString(); - QVERIFY(guest1.startsWith("Guest")); - - completer.complete("Guest", 5); - QCOMPARE(spy.count(), 2); - QString guest2 = spy.last().at(0).toString(); - QVERIFY(guest2.startsWith("Guest")); - QVERIFY(guest2 != guest1); - - completer.reset(); - completer.complete("Guest", 5); - QCOMPARE(spy.count(), 3); - QString guest3 = spy.last().at(0).toString(); - QCOMPARE(guest3, guest1); -} - -QTEST_MAIN(tst_IrcCompleter) - -#include "tst_irccompleter.moc" |
