summaryrefslogtreecommitdiffstats
path: root/src/libcommuni/tests/auto/ircbuffermodel
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcommuni/tests/auto/ircbuffermodel')
-rw-r--r--src/libcommuni/tests/auto/ircbuffermodel/ircbuffermodel.pro11
-rw-r--r--src/libcommuni/tests/auto/ircbuffermodel/tst_ircbuffermodel.cpp1461
2 files changed, 0 insertions, 1472 deletions
diff --git a/src/libcommuni/tests/auto/ircbuffermodel/ircbuffermodel.pro b/src/libcommuni/tests/auto/ircbuffermodel/ircbuffermodel.pro
deleted file mode 100644
index 16cf4c9..0000000
--- a/src/libcommuni/tests/auto/ircbuffermodel/ircbuffermodel.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-######################################################################
-# Communi
-######################################################################
-
-SOURCES += tst_ircbuffermodel.cpp
-
-# FakeQmlBufferModel::createXxx()
-*g++*|*clang*:QMAKE_CXXFLAGS_WARN_ON += -Wno-overloaded-virtual
-
-include(../shared/shared.pri)
-include(../auto.pri)
diff --git a/src/libcommuni/tests/auto/ircbuffermodel/tst_ircbuffermodel.cpp b/src/libcommuni/tests/auto/ircbuffermodel/tst_ircbuffermodel.cpp
deleted file mode 100644
index 60ec958..0000000
--- a/src/libcommuni/tests/auto/ircbuffermodel/tst_ircbuffermodel.cpp
+++ /dev/null
@@ -1,1461 +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 "ircbuffermodel.h"
-#include "ircconnection.h"
-#include "ircchannel.h"
-#include "ircbuffer.h"
-#include <QtTest/QtTest>
-#include "tst_ircclientserver.h"
-#include "tst_ircdata.h"
-
-class tst_IrcBufferModel : public tst_IrcClientServer
-{
- Q_OBJECT
-
-public:
- tst_IrcBufferModel();
-
-private slots:
- void testDefaults();
- void testBufferInit();
- void testAddRemove();
- void testSorting();
- void testClear();
- void testPersistent();
- void testPrototypes();
- void testChanges();
- void testActive();
- void testRoles();
- void testAIM();
- void testQML();
- void testWarnings();
-};
-
-Q_DECLARE_METATYPE(QModelIndex)
-tst_IrcBufferModel::tst_IrcBufferModel()
-{
- Irc::registerMetaTypes();
- qRegisterMetaType<QModelIndex>();
- qRegisterMetaType<IrcBuffer*>("IrcBuffer*");
- qRegisterMetaType<IrcChannel*>("IrcChannel*");
- qRegisterMetaType<IrcConnection*>("IrcConnection*");
- qRegisterMetaType<QList<IrcBuffer*> >("QList<IrcBuffer*>");
- qRegisterMetaType<QList<IrcChannel*> >("QList<IrcChannel*>");
-}
-
-void tst_IrcBufferModel::testDefaults()
-{
- IrcBufferModel model;
- QCOMPARE(model.count(), 0);
- QVERIFY(model.isEmpty());
- QCOMPARE(model.sortOrder(), Qt::AscendingOrder);
- QCOMPARE(model.sortMethod(), Irc::SortByHand);
- QVERIFY(model.channels().isEmpty());
- QCOMPARE(model.displayRole(), Irc::TitleRole);
- QVERIFY(!model.isPersistent());
- QVERIFY(model.buffers().isEmpty());
- QVERIFY(!model.connection());
- QVERIFY(!model.network());
- QVERIFY(model.bufferPrototype());
- QVERIFY(model.channelPrototype());
-}
-
-void tst_IrcBufferModel::testBufferInit()
-{
- IrcBufferModel model(connection);
- model.setSortMethod(Irc::SortByTitle);
- IrcBuffer* buffer1 = new IrcBuffer(&model);
- buffer1->setName("1");
- model.add(buffer1);
- IrcBuffer* buffer2 = new IrcBuffer(&model);
- buffer2->setName("2");
- model.add(buffer2);
-}
-
-void tst_IrcBufferModel::testAddRemove()
-{
- IrcBufferModel model;
-
- QSignalSpy countSpy(&model, SIGNAL(countChanged(int)));
- QSignalSpy emptySpy(&model, SIGNAL(emptyChanged(bool)));
- QSignalSpy addedSpy(&model, SIGNAL(added(IrcBuffer*)));
- QSignalSpy removedSpy(&model, SIGNAL(removed(IrcBuffer*)));
- QSignalSpy aboutToBeAddedSpy(&model, SIGNAL(aboutToBeAdded(IrcBuffer*)));
- QSignalSpy aboutToBeRemovedSpy(&model, SIGNAL(aboutToBeRemoved(IrcBuffer*)));
- QSignalSpy buffersSpy(&model, SIGNAL(buffersChanged(QList<IrcBuffer*>)));
- QSignalSpy channelsSpy(&model, SIGNAL(channelsChanged(QStringList)));
- QVERIFY(countSpy.isValid());
- QVERIFY(emptySpy.isValid());
- QVERIFY(addedSpy.isValid());
- QVERIFY(removedSpy.isValid());
- QVERIFY(aboutToBeAddedSpy.isValid());
- QVERIFY(aboutToBeRemovedSpy.isValid());
- QVERIFY(buffersSpy.isValid());
- QVERIFY(channelsSpy.isValid());
-
- // IrcBuffer* IrcBufferModel::add(const QString& title)
- IrcBuffer* first = model.add("first");
- QCOMPARE(model.count(), 1);
- QVERIFY(!model.isEmpty());
- QCOMPARE(model.get(0), first);
- QCOMPARE(model.find("first"), first);
- QCOMPARE(model.buffers(), QList<IrcBuffer*>() << first);
- QVERIFY(model.contains("first"));
- QCOMPARE(model.indexOf(first), 0);
- QVERIFY(model.channels().isEmpty());
-
- QCOMPARE(countSpy.count(), 1);
- QCOMPARE(countSpy.last().last().toInt(), 1);
- QCOMPARE(emptySpy.count(), 1);
- QCOMPARE(emptySpy.last().last().toBool(), false);
- QCOMPARE(aboutToBeAddedSpy.count(), 1);
- QCOMPARE(aboutToBeAddedSpy.last().last().value<IrcBuffer*>(), first);
- QCOMPARE(addedSpy.count(), 1);
- QCOMPARE(addedSpy.last().last().value<IrcBuffer*>(), first);
- QCOMPARE(buffersSpy.count(), 1);
- QCOMPARE(buffersSpy.last().last().value<QList<IrcBuffer*> >(), QList<IrcBuffer*>() << first);
- QCOMPARE(channelsSpy.count(), 0);
-
- QModelIndex firstIdx = model.index(first);
- QVERIFY(firstIdx.isValid());
- QCOMPARE(firstIdx.data(Irc::NameRole).toString(), QString("first"));
- QCOMPARE(firstIdx.data(Irc::TitleRole).toString(), QString("first"));
- QCOMPARE(firstIdx.data(Irc::PrefixRole).toString(), QString());
- QCOMPARE(firstIdx.data(Irc::BufferRole).value<IrcBuffer*>(), first);
- QVERIFY(!firstIdx.data(Irc::ChannelRole).value<IrcChannel*>());
-
- // void IrcBufferModel::add(IrcBuffer* buffer)
- IrcBuffer* second = new IrcBuffer(&model);
- second->setName("second");
- model.add(second);
- QCOMPARE(model.count(), 2);
- QVERIFY(!model.isEmpty());
- QCOMPARE(model.get(1), second);
- QCOMPARE(model.find("second"), second);
- QCOMPARE(model.buffers(), QList<IrcBuffer*>() << first << second);
- QVERIFY(model.contains("second"));
- QCOMPARE(model.indexOf(second), 1);
- QVERIFY(model.channels().isEmpty());
-
- QCOMPARE(countSpy.count(), 2);
- QCOMPARE(countSpy.last().last().toInt(), 2);
- QCOMPARE(emptySpy.count(), 1);
- QCOMPARE(aboutToBeAddedSpy.count(), 2);
- QCOMPARE(aboutToBeAddedSpy.last().last().value<IrcBuffer*>(), second);
- QCOMPARE(addedSpy.count(), 2);
- QCOMPARE(addedSpy.last().last().value<IrcBuffer*>(), second);
- QCOMPARE(buffersSpy.count(), 2);
- QCOMPARE(buffersSpy.last().last().value<QList<IrcBuffer*> >(), QList<IrcBuffer*>() << first << second);
- QCOMPARE(channelsSpy.count(), 0);
-
- QModelIndex secondIdx = model.index(second);
- QVERIFY(secondIdx.isValid());
- QCOMPARE(secondIdx.data(Irc::NameRole).toString(), QString("second"));
- QCOMPARE(secondIdx.data(Irc::TitleRole).toString(), QString("second"));
- QCOMPARE(secondIdx.data(Irc::PrefixRole).toString(), QString());
- QCOMPARE(secondIdx.data(Irc::BufferRole).value<IrcBuffer*>(), second);
- QVERIFY(!secondIdx.data(Irc::ChannelRole).value<IrcChannel*>());
-
- // void IrcBufferModel::remove(IrcBuffer* buffer)
- model.remove(second);
- QCOMPARE(model.count(), 1);
- QVERIFY(!model.isEmpty());
- QVERIFY(!model.find("second"));
- QCOMPARE(model.buffers(), QList<IrcBuffer*>() << first);
- QVERIFY(!model.contains("second"));
- QVERIFY(model.channels().isEmpty());
-
- QCOMPARE(countSpy.count(), 3);
- QCOMPARE(countSpy.last().last().toInt(), 1);
- QCOMPARE(emptySpy.count(), 1);
- QCOMPARE(aboutToBeRemovedSpy.count(), 1);
- QCOMPARE(removedSpy.count(), 1);
- QCOMPARE(buffersSpy.count(), 3);
- QCOMPARE(buffersSpy.last().last().value<QList<IrcBuffer*> >(), QList<IrcBuffer*>() << first);
- QCOMPARE(channelsSpy.count(), 0);
-
- // void IrcBufferModel::remove(const QString& title)
- model.remove("first");
- QCOMPARE(model.count(), 0);
- QVERIFY(model.isEmpty());
- QVERIFY(!model.find("first"));
- QVERIFY(model.buffers().isEmpty());
- QVERIFY(!model.contains("first"));
- QVERIFY(model.channels().isEmpty());
-
- QCOMPARE(countSpy.count(), 4);
- QCOMPARE(countSpy.last().last().toInt(), 0);
- QCOMPARE(emptySpy.count(), 2);
- QCOMPARE(emptySpy.last().last().toBool(), true);
- QCOMPARE(aboutToBeRemovedSpy.count(), 2);
- QCOMPARE(removedSpy.count(), 2);
- QCOMPARE(buffersSpy.count(), 4);
- QCOMPARE(buffersSpy.last().last().value<QList<IrcBuffer*> >(), QList<IrcBuffer*>());
- QCOMPARE(channelsSpy.count(), 0);
-}
-
-void tst_IrcBufferModel::testSorting()
-{
- IrcBufferModel staticModel(connection);
- IrcBufferModel dynamicModel(connection);
-
- connection->open();
- waitForOpened();
- waitForWritten(tst_IrcData::welcome());
-
- IrcBuffer* b = staticModel.add("b");
- IrcBuffer* c = staticModel.add("#c");
- IrcBuffer* a = staticModel.add("#a");
-
- QList<IrcBuffer*> buffers = QList<IrcBuffer*>() << b << c << a;
- QCOMPARE(staticModel.buffers(), buffers);
-
- // IGNORE INVALID COLUMNS
- staticModel.sort(-1, Qt::AscendingOrder);
- QCOMPARE(staticModel.buffers(), buffers);
-
- staticModel.sort(1, Qt::AscendingOrder);
- QCOMPARE(staticModel.buffers(), buffers);
-
- // STATIC - BY NAME - ASCENDING
- buffers = QList<IrcBuffer*>() << a << b << c;
- staticModel.setSortMethod(Irc::SortByName);
- staticModel.sort(0, Qt::AscendingOrder);
- QCOMPARE(staticModel.buffers(), buffers);
-
- // STATIC - BY NAME - DESCENDING
- buffers = QList<IrcBuffer*>() << c << b << a;
- staticModel.setSortMethod(Irc::SortByName);
- staticModel.sort(0, Qt::DescendingOrder);
- QCOMPARE(staticModel.buffers(), buffers);
-
- // STATIC - BY TITLE - ASCENDING
- buffers = QList<IrcBuffer*>() << a << c << b;
- staticModel.setSortMethod(Irc::SortByTitle);
- staticModel.sort(0, Qt::AscendingOrder);
- QCOMPARE(staticModel.buffers(), buffers);
-
- // STATIC - BY TITLE - DESCENDING
- buffers = QList<IrcBuffer*>() << b << c << a;
- staticModel.setSortMethod(Irc::SortByTitle);
- staticModel.sort(0, Qt::DescendingOrder);
- QCOMPARE(staticModel.buffers(), buffers);
-
- // STATIC - BY TITLE - ASCENDING & STICKY
- c->setSticky(true);
- buffers = QList<IrcBuffer*>() << c << a << b;
- staticModel.setSortMethod(Irc::SortByTitle);
- staticModel.sort(0, Qt::AscendingOrder);
- QCOMPARE(staticModel.buffers(), buffers);
-
- // STATIC - BY TITLE - ASCENDING & 2 STICKIES
- b->setSticky(true);
- buffers = QList<IrcBuffer*>() << c << b << a;
- staticModel.setSortMethod(Irc::SortByTitle);
- staticModel.sort(0, Qt::AscendingOrder);
- QCOMPARE(staticModel.buffers(), buffers);
-
- b = dynamicModel.add("b");
- c = dynamicModel.add("#c");
- a = dynamicModel.add("#a");
-
- // DYNAMIC - BY NAME - ASCENDING
- buffers = QList<IrcBuffer*>() << a << b << c;
- dynamicModel.setSortMethod(Irc::SortByName);
- QCOMPARE(dynamicModel.buffers(), buffers);
-
- // DYNAMIC - BY TITLE - ASCENDING
- buffers = QList<IrcBuffer*>() << a << c << b;
- dynamicModel.setSortMethod(Irc::SortByTitle);
- QCOMPARE(dynamicModel.buffers(), buffers);
-
- dynamicModel.setSortOrder(Qt::DescendingOrder);
-
- // DYNAMIC - BY NAME - DESCENDING
- buffers = QList<IrcBuffer*>() << c << b << a;
- dynamicModel.setSortMethod(Irc::SortByName);
- QCOMPARE(dynamicModel.buffers(), buffers);
-
- // DYNAMIC - BY TITLE - DESCENDING
- buffers = QList<IrcBuffer*>() << b << c << a;
- dynamicModel.setSortMethod(Irc::SortByTitle);
- QCOMPARE(dynamicModel.buffers(), buffers);
-
- // DO NOTHING
- dynamicModel.sort(Irc::SortByHand);
- QCOMPARE(dynamicModel.buffers(), buffers);
-}
-
-void tst_IrcBufferModel::testClear()
-{
- IrcBufferModel model(connection);
- connection->open();
- QVERIFY(waitForOpened());
- QVERIFY(waitForWritten(tst_IrcData::welcome()));
-
- QPointer<IrcBuffer> a = model.add("#a");
- QPointer<IrcBuffer> b = model.add("#b");
- QPointer<IrcBuffer> c = model.add("c");
- QPointer<IrcBuffer> d = model.add("d");
-
- QSignalSpy countSpy(&model, SIGNAL(countChanged(int)));
- QSignalSpy buffersSpy(&model, SIGNAL(buffersChanged(QList<IrcBuffer*>)));
- QSignalSpy channelsSpy(&model, SIGNAL(channelsChanged(QStringList)));
- QSignalSpy modelAboutToBeResetSpy(&model, SIGNAL(modelAboutToBeReset()));
- QSignalSpy modelResetSpy(&model, SIGNAL(modelReset()));
-
- QVERIFY(countSpy.isValid());
- QVERIFY(buffersSpy.isValid());
- QVERIFY(channelsSpy.isValid());
- QVERIFY(modelAboutToBeResetSpy.isValid());
- QVERIFY(modelResetSpy.isValid());
-
- b->setPersistent(true);
- d->setPersistent(true);
-
- // #a, #b*, c, d*
- model.clear();
-
- QCOMPARE(model.count(), 2);
- QCOMPARE(model.buffers(), QList<IrcBuffer*>() << b << d);
- QCOMPARE(model.channels(), QStringList() << "#b");
-
- QCOMPARE(model.get(0), b.data());
- QCOMPARE(model.get(1), d.data());
- QVERIFY(!model.get(2));
- QVERIFY(!model.find("#a"));
- QVERIFY(model.find("#b"));
- QVERIFY(!model.find("c"));
- QVERIFY(model.find("d"));
- QVERIFY(!model.contains("#a"));
- QVERIFY(model.contains("#b"));
- QVERIFY(!model.contains("c"));
- QVERIFY(model.contains("d"));
-
- QVERIFY(!a);
- QVERIFY(b);
- QVERIFY(!c);
- QVERIFY(d);
-
- QCOMPARE(countSpy.count(), 1);
- QCOMPARE(countSpy.last().at(0).toInt(), 2);
-
- QCOMPARE(buffersSpy.count(), 1);
- QCOMPARE(buffersSpy.last().at(0).value<QList<IrcBuffer*> >(), QList<IrcBuffer*>() << b << d);
-
- QCOMPARE(channelsSpy.count(), 1);
- QCOMPARE(channelsSpy.last().at(0).toStringList(), QStringList() << "#b");
-
- QCOMPARE(modelAboutToBeResetSpy.count(), 1);
- QCOMPARE(modelResetSpy.count(), 1);
-
- b->setPersistent(false);
-
- countSpy.clear();
- buffersSpy.clear();
- channelsSpy.clear();
- modelAboutToBeResetSpy.clear();
- modelResetSpy.clear();
-
- // #b, d*
- model.clear();
-
- QCOMPARE(model.count(), 1);
- QCOMPARE(model.buffers(), QList<IrcBuffer*>() << d);
- QCOMPARE(model.channels(), QStringList());
-
- QCOMPARE(model.get(0), d.data());
- QVERIFY(!model.get(1));
- QVERIFY(!model.find("#b"));
- QVERIFY(model.find("d"));
- QVERIFY(!model.contains("#b"));
- QVERIFY(model.contains("d"));
-
- QVERIFY(!b);
- QVERIFY(d);
-
- QCOMPARE(countSpy.count(), 1);
- QCOMPARE(countSpy.last().at(0).toInt(), 1);
-
- QCOMPARE(buffersSpy.count(), 1);
- QCOMPARE(buffersSpy.last().at(0).value<QList<IrcBuffer*> >(), QList<IrcBuffer*>() << d);
-
- QCOMPARE(channelsSpy.count(), 1);
- QCOMPARE(channelsSpy.last().at(0).toStringList(), QStringList());
-
- QCOMPARE(modelAboutToBeResetSpy.count(), 1);
- QCOMPARE(modelResetSpy.count(), 1);
-
- d->setPersistent(false);
-
- countSpy.clear();
- buffersSpy.clear();
- channelsSpy.clear();
- modelAboutToBeResetSpy.clear();
- modelResetSpy.clear();
-
- // d
- model.clear();
-
- QCOMPARE(model.count(), 0);
- QCOMPARE(model.buffers(), QList<IrcBuffer*>());
- QCOMPARE(model.channels(), QStringList());
-
- QVERIFY(!model.get(0));
- QVERIFY(!model.find("d"));
- QVERIFY(!model.contains("d"));
-
- QVERIFY(!d);
-
- QCOMPARE(countSpy.count(), 1);
- QCOMPARE(countSpy.last().at(0).toInt(), 0);
-
- QCOMPARE(buffersSpy.count(), 1);
- QCOMPARE(buffersSpy.last().at(0).value<QList<IrcBuffer*> >(), QList<IrcBuffer*>());
-
- QCOMPARE(channelsSpy.count(), 0);
-
- QCOMPARE(modelAboutToBeResetSpy.count(), 1);
- QCOMPARE(modelResetSpy.count(), 1);
-
- countSpy.clear();
- buffersSpy.clear();
- channelsSpy.clear();
- modelAboutToBeResetSpy.clear();
- modelResetSpy.clear();
-
- // <empty>
- model.clear();
-
- QCOMPARE(countSpy.count(), 0);
- QCOMPARE(buffersSpy.count(), 0);
- QCOMPARE(channelsSpy.count(), 0);
- QCOMPARE(modelAboutToBeResetSpy.count(), 0);
- QCOMPARE(modelResetSpy.count(), 0);
-
- QPointer<IrcBuffer> e = model.add("e");
- QPointer<IrcBuffer> f = model.add("f");
-
- e->setPersistent(true);
- f->setPersistent(true);
-
- countSpy.clear();
- buffersSpy.clear();
- channelsSpy.clear();
- modelAboutToBeResetSpy.clear();
- modelResetSpy.clear();
-
- // e*, f*
- model.clear();
-
- QVERIFY(e);
- QVERIFY(f);
-
- QCOMPARE(countSpy.count(), 0);
- QCOMPARE(buffersSpy.count(), 0);
- QCOMPARE(channelsSpy.count(), 0);
- QCOMPARE(modelAboutToBeResetSpy.count(), 0);
- QCOMPARE(modelResetSpy.count(), 0);
-
- qDeleteAll(model.buffers());
-
- QCOMPARE(model.count(), 0);
- QCOMPARE(model.buffers(), QList<IrcBuffer*>());
- QCOMPARE(model.channels(), QStringList());
-
- QVERIFY(!model.get(0));
- QVERIFY(!model.find("e"));
- QVERIFY(!model.find("f"));
- QVERIFY(!model.contains("e"));
- QVERIFY(!model.contains("f"));
-
- QVERIFY(!e);
- QVERIFY(!f);
-
- QCOMPARE(countSpy.count(), 2);
- QCOMPARE(countSpy.at(0).at(0).toInt(), 1);
- QCOMPARE(countSpy.at(1).at(0).toInt(), 0);
-
- QCOMPARE(buffersSpy.count(), 2);
- QCOMPARE(buffersSpy.at(0).at(0).value<QList<IrcBuffer*> >().count(), 1);
- QCOMPARE(buffersSpy.at(1).at(0).value<QList<IrcBuffer*> >(), QList<IrcBuffer*>());
-
- QCOMPARE(channelsSpy.count(), 0);
-
- QCOMPARE(modelAboutToBeResetSpy.count(), 0);
- QCOMPARE(modelResetSpy.count(), 0);
-}
-
-void tst_IrcBufferModel::testPersistent()
-{
- IrcBufferModel model(connection);
- connection->open();
- QVERIFY(waitForOpened());
- QVERIFY(waitForWritten(tst_IrcData::welcome()));
-
- QVERIFY(waitForWritten(":communi!communi@hidd.en JOIN :#communi"));
- QCOMPARE(model.count(), 1);
-
- QPointer<IrcChannel> channel = model.get(0)->toChannel();
- QVERIFY(channel);
-
- QVERIFY(!model.isPersistent());
- QVERIFY(!channel->isPersistent());
- QVERIFY(waitForWritten(":communi!communi@hidd.en PART :#communi"));
- QVERIFY(model.isEmpty());
- QVERIFY(channel); // deleteLater()'d
- QCoreApplication::sendPostedEvents(channel, QEvent::DeferredDelete);
- QVERIFY(!channel); // deleteLater()'d
-
- QVERIFY(waitForWritten(":communi!communi@hidd.en JOIN :#communi"));
- QCOMPARE(model.count(), 1);
- channel = model.get(0)->toChannel();
- QVERIFY(channel);
-
- model.setPersistent(true);
- QVERIFY(model.isPersistent());
- QVERIFY(!channel->isPersistent());
- QVERIFY(waitForWritten(":communi!communi@hidd.en PART :#communi"));
- QVERIFY(channel);
- QCOMPARE(model.count(), 1);
-
- channel->setPersistent(true);
- QVERIFY(model.isPersistent());
- QVERIFY(channel->isPersistent());
- QVERIFY(waitForWritten(":communi!communi@hidd.en PART :#communi"));
- QVERIFY(channel);
- QCOMPARE(model.count(), 1);
-
- model.setPersistent(false);
- QVERIFY(!model.isPersistent());
- QVERIFY(channel->isPersistent());
- QVERIFY(waitForWritten(":communi!communi@hidd.en PART :#communi"));
- QVERIFY(channel);
- QCOMPARE(model.count(), 1);
-
- channel->setPersistent(false);
- QVERIFY(!model.isPersistent());
- QVERIFY(!channel->isPersistent());
- QVERIFY(waitForWritten(":communi!communi@hidd.en PART :#communi"));
- QVERIFY(model.isEmpty());
- QVERIFY(channel); // deleteLater()'d
- QCoreApplication::sendPostedEvents(channel, QEvent::DeferredDelete);
- QVERIFY(!channel); // deleteLater()'d
-}
-
-void tst_IrcBufferModel::testPrototypes()
-{
- IrcBufferModel model;
-
- QSignalSpy bufferProtoSpy(&model, SIGNAL(bufferPrototypeChanged(IrcBuffer*)));
- QSignalSpy channelProtoSpy(&model, SIGNAL(channelPrototypeChanged(IrcChannel*)));
- QVERIFY(bufferProtoSpy.isValid());
- QVERIFY(channelProtoSpy.isValid());
-
- model.setBufferPrototype(0);
- QVERIFY(model.bufferPrototype());
- QCOMPARE(bufferProtoSpy.count(), 1);
-
- model.setChannelPrototype(0);
- QVERIFY(model.channelPrototype());
- QCOMPARE(channelProtoSpy.count(), 1);
-
- IrcBuffer* bufferProto = new IrcBuffer(&model);
- model.setBufferPrototype(bufferProto);
- QCOMPARE(model.bufferPrototype(), bufferProto);
- QCOMPARE(bufferProtoSpy.count(), 2);
-
- IrcChannel* channelProto = new IrcChannel(&model);
- model.setChannelPrototype(channelProto);
- QCOMPARE(model.channelPrototype(), channelProto);
- QCOMPARE(channelProtoSpy.count(), 2);
-}
-
-void tst_IrcBufferModel::testChanges()
-{
- IrcBufferModel bufferModel;
-
- // IrcBufferModel signals
- QSignalSpy countChangedSpy(&bufferModel, SIGNAL(countChanged(int)));
- QSignalSpy addedSpy(&bufferModel, SIGNAL(added(IrcBuffer*)));
- QSignalSpy removedSpy(&bufferModel, SIGNAL(removed(IrcBuffer*)));
- QSignalSpy aboutToBeAddedSpy(&bufferModel, SIGNAL(aboutToBeAdded(IrcBuffer*)));
- QSignalSpy aboutToBeRemovedSpy(&bufferModel, SIGNAL(aboutToBeRemoved(IrcBuffer*)));
- QSignalSpy buffersChangedSpy(&bufferModel, SIGNAL(buffersChanged(QList<IrcBuffer*>)));
- QSignalSpy channelsChangedSpy(&bufferModel, SIGNAL(channelsChanged(QStringList)));
-
- QVERIFY(countChangedSpy.isValid());
- QVERIFY(addedSpy.isValid());
- QVERIFY(removedSpy.isValid());
- QVERIFY(aboutToBeAddedSpy.isValid());
- QVERIFY(aboutToBeRemovedSpy.isValid());
- QVERIFY(buffersChangedSpy.isValid());
- QVERIFY(channelsChangedSpy.isValid());
-
- int countChangedCount = 0;
- int aboutToBeAddedCount = 0, addedCount = 0;
- int aboutToBeRemovedCount = 0, removedCount = 0;
- int buffersChangedCount = 0;
- int channelsChangedCount = 0;
-
- QSignalSpy connectionChangedSpy(&bufferModel, SIGNAL(connectionChanged(IrcConnection*)));
- QSignalSpy networkChangedSpy(&bufferModel, SIGNAL(networkChanged(IrcNetwork*)));
- QSignalSpy messageIgnoredSpy(&bufferModel, SIGNAL(messageIgnored(IrcMessage*)));
-
- QVERIFY(connectionChangedSpy.isValid());
- QVERIFY(networkChangedSpy.isValid());
- QVERIFY(messageIgnoredSpy.isValid());
-
- int connectionChangedCount = 0;
- int networkChangedCount = 0;
- int messageIgnoredCount = 0;
-
- // relevant QAbstractItemModel signals
- QSignalSpy dataChangedSpy(&bufferModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)));
- QSignalSpy layoutAboutToBeChangedSpy(&bufferModel, SIGNAL(layoutAboutToBeChanged()));
- QSignalSpy layoutChangedSpy(&bufferModel, SIGNAL(layoutChanged()));
- QSignalSpy rowsAboutToBeInsertedSpy(&bufferModel, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)));
- QSignalSpy rowsInsertedSpy(&bufferModel, SIGNAL(rowsInserted(QModelIndex,int,int)));
- QSignalSpy rowsAboutToBeRemovedSpy(&bufferModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)));
- QSignalSpy rowsRemovedSpy(&bufferModel, SIGNAL(rowsRemoved(QModelIndex,int,int)));
-
- QVERIFY(dataChangedSpy.isValid());
- QVERIFY(layoutAboutToBeChangedSpy.isValid());
- QVERIFY(layoutChangedSpy.isValid());
- QVERIFY(rowsAboutToBeInsertedSpy.isValid());
- QVERIFY(rowsInsertedSpy.isValid());
- QVERIFY(rowsAboutToBeRemovedSpy.isValid());
- QVERIFY(rowsRemovedSpy.isValid());
-
- int dataChangedCount = 0;
- int layoutAboutToBeChangedCount = 0, layoutChangedCount = 0;
- int rowsAboutToBeInsertedCount = 0, rowsInsertedCount = 0;
- int rowsAboutToBeRemovedCount = 0, rowsRemovedCount = 0;
-
- bufferModel.setConnection(connection);
- QCOMPARE(connectionChangedSpy.count(), ++connectionChangedCount);
- QCOMPARE(networkChangedSpy.count(), ++networkChangedCount);
-
- connection->open();
- QVERIFY(waitForOpened());
- QVERIFY(waitForWritten(tst_IrcData::welcome()));
-
- messageIgnoredCount = tst_IrcData::welcome().split('\n').count(); // N lines + a combined motd msg
-
- QCOMPARE(bufferModel.count(), 0);
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
-
- QVERIFY(waitForWritten(":communi!communi@hidd.en JOIN :#communi"));
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
-
- QCOMPARE(bufferModel.count(), 1);
-
- QPointer<IrcChannel> communi = bufferModel.get(0)->toChannel();
- QVERIFY(communi);
- QCOMPARE(communi->title(), QString("#communi"));
- QCOMPARE(communi->name(), QString("communi"));
- QCOMPARE(communi->prefix(), QString("#"));
-
- int previousIndex = -1;
-
- QList<IrcBuffer*> buffers = QList<IrcBuffer*>() << communi;
- QStringList channels = QStringList() << "#communi";
-
- int nextIndex = buffers.indexOf(communi);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- }
- QCOMPARE(bufferModel.channels(), channels);
-
- QCOMPARE(countChangedSpy.count(), ++countChangedCount);
- QCOMPARE(countChangedSpy.last().at(0).toInt(), buffers.count());
-
- QCOMPARE(aboutToBeAddedSpy.count(), ++aboutToBeAddedCount);
- QCOMPARE(aboutToBeAddedSpy.last().at(0).value<IrcBuffer*>(), communi.data());
-
- QCOMPARE(addedSpy.count(), ++addedCount);
- QCOMPARE(addedSpy.last().at(0).value<IrcBuffer*>(), communi.data());
-
- QCOMPARE(buffersChangedSpy.count(), ++buffersChangedCount);
- QCOMPARE(buffersChangedSpy.last().at(0).value<QList<IrcBuffer*> >(), buffers);
-
- QCOMPARE(channelsChangedSpy.count(), ++channelsChangedCount);
- QCOMPARE(channelsChangedSpy.last().at(0).toStringList(), channels);
-
- QCOMPARE(rowsAboutToBeRemovedSpy.count(), rowsAboutToBeRemovedCount);
-
- QCOMPARE(rowsRemovedSpy.count(), rowsRemovedCount);
-
- QCOMPARE(rowsAboutToBeInsertedSpy.count(), ++rowsAboutToBeInsertedCount);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(2).toInt(), nextIndex);
-
- QCOMPARE(rowsInsertedSpy.count(), ++rowsInsertedCount);
- QCOMPARE(rowsInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsInsertedSpy.last().at(2).toInt(), nextIndex);
-
- QVERIFY(waitForWritten(":ChanServ!ChanServ@services. NOTICE communi :fake..."));
- QCOMPARE(messageIgnoredSpy.count(), ++messageIgnoredCount);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- QCOMPARE(countChangedSpy.count(), countChangedCount);
- QCOMPARE(aboutToBeAddedSpy.count(), aboutToBeAddedCount);
- QCOMPARE(addedSpy.count(), addedCount);
- QCOMPARE(buffersChangedSpy.count(), buffersChangedCount);
- QCOMPARE(channelsChangedSpy.count(), channelsChangedCount);
- QCOMPARE(rowsAboutToBeRemovedSpy.count(), rowsAboutToBeRemovedCount);
- QCOMPARE(rowsRemovedSpy.count(), rowsRemovedCount);
- QCOMPARE(rowsAboutToBeInsertedSpy.count(), rowsAboutToBeInsertedCount);
- QCOMPARE(rowsInsertedSpy.count(), rowsInsertedCount);
-
- QVERIFY(waitForWritten(":ChanServ!ChanServ@services. PRIVMSG communi :fake..."));
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
-
- QPointer<IrcBuffer> ChanServ = bufferModel.get(1);
- QVERIFY(ChanServ);
- QCOMPARE(ChanServ->title(), QString("ChanServ"));
- QCOMPARE(ChanServ->name(), QString("ChanServ"));
- QCOMPARE(ChanServ->prefix(), QString());
-
- previousIndex = -1;
-
- buffers = QList<IrcBuffer*>() << communi << ChanServ;
- channels = QStringList() << "#communi";
-
- nextIndex = buffers.indexOf(ChanServ);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- }
-
- QCOMPARE(countChangedSpy.count(), ++countChangedCount);
- QCOMPARE(countChangedSpy.last().at(0).toInt(), buffers.count());
-
- QCOMPARE(aboutToBeAddedSpy.count(), ++aboutToBeAddedCount);
- QCOMPARE(aboutToBeAddedSpy.last().at(0).value<IrcBuffer*>(), ChanServ.data());
-
- QCOMPARE(addedSpy.count(), ++addedCount);
- QCOMPARE(addedSpy.last().at(0).value<IrcBuffer*>(), ChanServ.data());
-
- QCOMPARE(buffersChangedSpy.count(), ++buffersChangedCount);
- QCOMPARE(buffersChangedSpy.last().at(0).value<QList<IrcBuffer*> >(), buffers);
-
- QCOMPARE(channelsChangedSpy.count(), channelsChangedCount);
-
- QCOMPARE(rowsAboutToBeRemovedSpy.count(), rowsAboutToBeRemovedCount);
-
- QCOMPARE(rowsRemovedSpy.count(), rowsRemovedCount);
-
- QCOMPARE(rowsAboutToBeInsertedSpy.count(), ++rowsAboutToBeInsertedCount);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(2).toInt(), nextIndex);
-
- QCOMPARE(rowsInsertedSpy.count(), ++rowsInsertedCount);
- QCOMPARE(rowsInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsInsertedSpy.last().at(2).toInt(), nextIndex);
-
- QVERIFY(waitForWritten(":ChanServ!ChanServ@services. NOTICE communi :fake..."));
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- }
-
- QCOMPARE(countChangedSpy.count(), countChangedCount);
- QCOMPARE(aboutToBeAddedSpy.count(), aboutToBeAddedCount);
- QCOMPARE(addedSpy.count(), addedCount);
- QCOMPARE(buffersChangedSpy.count(), buffersChangedCount);
- QCOMPARE(channelsChangedSpy.count(), channelsChangedCount);
- QCOMPARE(rowsAboutToBeRemovedSpy.count(), rowsAboutToBeRemovedCount);
- QCOMPARE(rowsRemovedSpy.count(), rowsRemovedCount);
- QCOMPARE(rowsAboutToBeInsertedSpy.count(), rowsAboutToBeInsertedCount);
- QCOMPARE(rowsInsertedSpy.count(), rowsInsertedCount);
-
- QVERIFY(waitForWritten(":communi!communi@hidd.en JOIN :#freenode"));
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
-
- QPointer<IrcChannel> freenode = bufferModel.get(2)->toChannel();
- QVERIFY(freenode);
- QCOMPARE(freenode->title(), QString("#freenode"));
- QCOMPARE(freenode->name(), QString("freenode"));
- QCOMPARE(freenode->prefix(), QString("#"));
-
- previousIndex = -1;
-
- buffers = QList<IrcBuffer*>() << communi << ChanServ << freenode;
- channels = QStringList() << "#communi" << "#freenode";
-
- nextIndex = buffers.indexOf(freenode);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- }
-
- QCOMPARE(countChangedSpy.count(), ++countChangedCount);
- QCOMPARE(countChangedSpy.last().at(0).toInt(), buffers.count());
-
- QCOMPARE(aboutToBeAddedSpy.count(), ++aboutToBeAddedCount);
- QCOMPARE(aboutToBeAddedSpy.last().at(0).value<IrcBuffer*>(), freenode.data());
-
- QCOMPARE(addedSpy.count(), ++addedCount);
- QCOMPARE(addedSpy.last().at(0).value<IrcBuffer*>(), freenode.data());
-
- QCOMPARE(buffersChangedSpy.count(), ++buffersChangedCount);
- QCOMPARE(buffersChangedSpy.last().at(0).value<QList<IrcBuffer*> >(), buffers);
-
- QCOMPARE(channelsChangedSpy.count(), ++channelsChangedCount);
- QCOMPARE(channelsChangedSpy.last().at(0).toStringList(), channels);
-
- QCOMPARE(rowsAboutToBeRemovedSpy.count(), rowsAboutToBeRemovedCount);
-
- QCOMPARE(rowsRemovedSpy.count(), rowsRemovedCount);
-
- QCOMPARE(rowsAboutToBeInsertedSpy.count(), ++rowsAboutToBeInsertedCount);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(2).toInt(), nextIndex);
-
- QCOMPARE(rowsInsertedSpy.count(), ++rowsInsertedCount);
- QCOMPARE(rowsInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsInsertedSpy.last().at(2).toInt(), nextIndex);
-
- bufferModel.setSortMethod(Irc::SortByTitle);
- QCOMPARE(layoutAboutToBeChangedSpy.count(), ++layoutAboutToBeChangedCount);
- QCOMPARE(layoutChangedSpy.count(), ++layoutChangedCount);
-
- previousIndex = -1;
-
- // Irc::SortByTitle
- buffers = QList<IrcBuffer*>() << communi << freenode << ChanServ;
- channels = QStringList() << "#communi" << "#freenode";
-
- nextIndex = -1;
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- }
-
- bufferModel.setSortMethod(Irc::SortByName);
- QCOMPARE(layoutAboutToBeChangedSpy.count(), ++layoutAboutToBeChangedCount);
- QCOMPARE(layoutChangedSpy.count(), ++layoutChangedCount);
-
- bufferModel.setSortOrder(Qt::DescendingOrder);
- QCOMPARE(layoutAboutToBeChangedSpy.count(), ++layoutAboutToBeChangedCount);
- QCOMPARE(layoutChangedSpy.count(), ++layoutChangedCount);
-
- previousIndex = -1;
-
- // Irc::SortByName, Qt::DescendingOrder
- buffers = QList<IrcBuffer*>() << freenode << communi << ChanServ;
- channels = QStringList() << "#communi" << "#freenode";
-
- nextIndex = -1;
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- }
-
- QVERIFY(waitForWritten(":qtassistant!qtassistant@hidd.en PRIVMSG communi :hola"));
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
-
- QPointer<IrcBuffer> qtassistant = bufferModel.get(0);
- QVERIFY(qtassistant);
- QCOMPARE(qtassistant->title(), QString("qtassistant"));
- QCOMPARE(qtassistant->name(), QString("qtassistant"));
- QCOMPARE(qtassistant->prefix(), QString());
-
- previousIndex = -1;
-
- // Irc::SortByName, Qt::DescendingOrder
- buffers = QList<IrcBuffer*>() << qtassistant << freenode << communi << ChanServ;
- channels = QStringList() << "#communi" << "#freenode";
-
- nextIndex = buffers.indexOf(qtassistant);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- }
-
- QCOMPARE(countChangedSpy.count(), ++countChangedCount);
- QCOMPARE(countChangedSpy.last().at(0).toInt(), buffers.count());
-
- QCOMPARE(aboutToBeAddedSpy.count(), ++aboutToBeAddedCount);
- QCOMPARE(aboutToBeAddedSpy.last().at(0).value<IrcBuffer*>(), qtassistant.data());
-
- QCOMPARE(addedSpy.count(), ++addedCount);
- QCOMPARE(addedSpy.last().at(0).value<IrcBuffer*>(), qtassistant.data());
-
- QCOMPARE(buffersChangedSpy.count(), ++buffersChangedCount);
- QCOMPARE(buffersChangedSpy.last().at(0).value<QList<IrcBuffer*> >(), buffers);
-
- QCOMPARE(channelsChangedSpy.count(), channelsChangedCount);
-
- QCOMPARE(rowsAboutToBeRemovedSpy.count(), rowsAboutToBeRemovedCount);
-
- QCOMPARE(rowsRemovedSpy.count(), rowsRemovedCount);
-
- QCOMPARE(rowsAboutToBeInsertedSpy.count(), ++rowsAboutToBeInsertedCount);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(2).toInt(), nextIndex);
-
- QCOMPARE(rowsInsertedSpy.count(), ++rowsInsertedCount);
- QCOMPARE(rowsInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsInsertedSpy.last().at(2).toInt(), nextIndex);
-
- QSignalSpy titleChangedSpy(qtassistant, SIGNAL(titleChanged(QString)));
- QSignalSpy nameChangedSpy(qtassistant, SIGNAL(nameChanged(QString)));
- QSignalSpy prefixChangedSpy(qtassistant, SIGNAL(prefixChanged(QString)));
-
- QVERIFY(titleChangedSpy.isValid());
- QVERIFY(nameChangedSpy.isValid());
- QVERIFY(prefixChangedSpy.isValid());
-
- int titleChangedCount = 0;
- int nameChangedCount = 0;
- int prefixChangedCount = 0;
-
- QVERIFY(waitForWritten(":qtassistant!qtassistant@hidd.en NICK assistant :hola"));
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
-
- QCOMPARE(qtassistant->title(), QString("assistant"));
- QCOMPARE(qtassistant->name(), QString("assistant"));
- QCOMPARE(qtassistant->prefix(), QString());
-
- QCOMPARE(titleChangedSpy.count(), ++titleChangedCount);
- QCOMPARE(nameChangedSpy.count(), ++nameChangedCount);
- QCOMPARE(prefixChangedSpy.count(), prefixChangedCount);
-
- previousIndex = buffers.indexOf(qtassistant);
-
- // Irc::SortByName, Qt::DescendingOrder
- buffers = QList<IrcBuffer*>() << freenode << communi << ChanServ << qtassistant; // qtassistant=assistant
- channels = QStringList() << "#communi" << "#freenode";
-
- nextIndex = buffers.indexOf(qtassistant);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- }
-
- QCOMPARE(countChangedSpy.count(), countChangedCount);
-
- QCOMPARE(aboutToBeAddedSpy.count(), aboutToBeAddedCount);
-
- QCOMPARE(addedSpy.count(), addedCount);
-
- QCOMPARE(buffersChangedSpy.count(), ++buffersChangedCount);
- QCOMPARE(buffersChangedSpy.last().at(0).value<QList<IrcBuffer*> >(), buffers);
-
- QCOMPARE(channelsChangedSpy.count(), channelsChangedCount);
-
- QCOMPARE(dataChangedSpy.count(), ++dataChangedCount);
- QModelIndex topLeft = dataChangedSpy.last().at(0).value<QModelIndex>();
- QModelIndex bottomRight = dataChangedSpy.last().at(0).value<QModelIndex>();
- QVERIFY(!topLeft.parent().isValid());
- QVERIFY(topLeft.isValid());
- QVERIFY(bottomRight.isValid());
- QVERIFY(topLeft == bottomRight);
- QCOMPARE(topLeft.row(), previousIndex);
- QCOMPARE(topLeft.column(), 0);
-
- QCOMPARE(rowsAboutToBeRemovedSpy.count(), ++rowsAboutToBeRemovedCount);
- QCOMPARE(rowsAboutToBeRemovedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsAboutToBeRemovedSpy.last().at(1).toInt(), previousIndex);
- QCOMPARE(rowsAboutToBeRemovedSpy.last().at(2).toInt(), previousIndex);
-
- QCOMPARE(rowsRemovedSpy.count(), ++rowsRemovedCount);
- QCOMPARE(rowsRemovedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsRemovedSpy.last().at(1).toInt(), previousIndex);
- QCOMPARE(rowsRemovedSpy.last().at(2).toInt(), previousIndex);
-
- QCOMPARE(rowsAboutToBeInsertedSpy.count(), ++rowsAboutToBeInsertedCount);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(2).toInt(), nextIndex);
-
- QCOMPARE(rowsInsertedSpy.count(), ++rowsInsertedCount);
- QCOMPARE(rowsInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsInsertedSpy.last().at(2).toInt(), nextIndex);
-
- QVERIFY(waitForWritten(":communi!communi@hidd.en PART #communi"));
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
-
- QVERIFY(communi); // deleteLater()'d
-
- QCOMPARE(aboutToBeRemovedSpy.count(), ++aboutToBeRemovedCount);
- QCOMPARE(aboutToBeRemovedSpy.last().at(0).value<IrcBuffer*>(), communi.data());
-
- QCOMPARE(removedSpy.count(), ++removedCount);
- QCOMPARE(removedSpy.last().at(0).value<IrcBuffer*>(), communi.data());
-
- previousIndex = buffers.indexOf(communi);
-
- QCoreApplication::sendPostedEvents(communi, QEvent::DeferredDelete);
- QVERIFY(!communi);
-
- // Irc::SortByName, Qt::DescendingOrder
- buffers = QList<IrcBuffer*>() << freenode << ChanServ << qtassistant; // qtassistant=assistant
- channels = QStringList() << "#freenode";
-
- nextIndex = buffers.indexOf(communi);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- }
-
- QCOMPARE(countChangedSpy.count(), ++countChangedCount);
- QCOMPARE(countChangedSpy.last().at(0).toInt(), buffers.count());
-
- QCOMPARE(aboutToBeAddedSpy.count(), aboutToBeAddedCount);
-
- QCOMPARE(addedSpy.count(), addedCount);
-
- QCOMPARE(buffersChangedSpy.count(), ++buffersChangedCount);
- QCOMPARE(buffersChangedSpy.last().at(0).value<QList<IrcBuffer*> >(), buffers);
-
- QCOMPARE(channelsChangedSpy.count(), ++channelsChangedCount);
- QCOMPARE(channelsChangedSpy.last().at(0).toStringList(), channels);
-
- QCOMPARE(dataChangedSpy.count(), dataChangedCount);
-
- QCOMPARE(rowsAboutToBeRemovedSpy.count(), ++rowsAboutToBeRemovedCount);
- QCOMPARE(rowsAboutToBeRemovedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsAboutToBeRemovedSpy.last().at(1).toInt(), previousIndex);
- QCOMPARE(rowsAboutToBeRemovedSpy.last().at(2).toInt(), previousIndex);
-
- QCOMPARE(rowsRemovedSpy.count(), ++rowsRemovedCount);
- QCOMPARE(rowsRemovedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsRemovedSpy.last().at(1).toInt(), previousIndex);
- QCOMPARE(rowsRemovedSpy.last().at(2).toInt(), previousIndex);
-
- QCOMPARE(rowsAboutToBeInsertedSpy.count(), rowsAboutToBeInsertedCount);
-
- QCOMPARE(rowsInsertedSpy.count(), rowsInsertedCount);
-
- waitForWritten(":moorcock.freenode.net 324 communi #freenode +s");
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
- QCOMPARE(freenode->mode(), QString("+s"));
-
- QVERIFY(waitForWritten(":jpnurmi!jpnurmi@qt/jpnurmi KICK #freenode communi"));
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
-
- QVERIFY(freenode); // deleteLater()'d
-
- QCOMPARE(aboutToBeRemovedSpy.count(), ++aboutToBeRemovedCount);
- QCOMPARE(aboutToBeRemovedSpy.last().at(0).value<IrcBuffer*>(), freenode.data());
-
- QCOMPARE(removedSpy.count(), ++removedCount);
- QCOMPARE(removedSpy.last().at(0).value<IrcBuffer*>(), freenode.data());
-
- previousIndex = buffers.indexOf(freenode);
-
- QCoreApplication::sendPostedEvents(freenode, QEvent::DeferredDelete);
- QVERIFY(!freenode);
-
- // Irc::SortByName, Qt::DescendingOrder
- buffers = QList<IrcBuffer*>() << ChanServ << qtassistant; // qtassistant=assistant
- channels = QStringList();
-
- nextIndex = buffers.indexOf(freenode);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- }
-
- QCOMPARE(countChangedSpy.count(), ++countChangedCount);
- QCOMPARE(countChangedSpy.last().at(0).toInt(), buffers.count());
-
- QCOMPARE(aboutToBeAddedSpy.count(), aboutToBeAddedCount);
-
- QCOMPARE(addedSpy.count(), addedCount);
-
- QCOMPARE(buffersChangedSpy.count(), ++buffersChangedCount);
- QCOMPARE(buffersChangedSpy.last().at(0).value<QList<IrcBuffer*> >(), buffers);
-
- QCOMPARE(channelsChangedSpy.count(), ++channelsChangedCount);
- QCOMPARE(channelsChangedSpy.last().at(0).toStringList(), channels);
-
- QCOMPARE(dataChangedSpy.count(), dataChangedCount);
-
- QCOMPARE(rowsAboutToBeRemovedSpy.count(), ++rowsAboutToBeRemovedCount);
- QCOMPARE(rowsAboutToBeRemovedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsAboutToBeRemovedSpy.last().at(1).toInt(), previousIndex);
- QCOMPARE(rowsAboutToBeRemovedSpy.last().at(2).toInt(), previousIndex);
-
- QCOMPARE(rowsRemovedSpy.count(), ++rowsRemovedCount);
- QCOMPARE(rowsRemovedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsRemovedSpy.last().at(1).toInt(), previousIndex);
- QCOMPARE(rowsRemovedSpy.last().at(2).toInt(), previousIndex);
-
- QCOMPARE(rowsAboutToBeInsertedSpy.count(), rowsAboutToBeInsertedCount);
-
- QCOMPARE(rowsInsertedSpy.count(), rowsInsertedCount);
-
- QVERIFY(waitForWritten(":communi!communi@hidd.en PRIVMSG jpnurmi :echo"));
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
-
- QPointer<IrcBuffer> jpnurmi = bufferModel.get(0);
- QVERIFY(jpnurmi);
- QCOMPARE(jpnurmi->title(), QString("jpnurmi"));
- QCOMPARE(jpnurmi->name(), QString("jpnurmi"));
- QCOMPARE(jpnurmi->prefix(), QString());
-
- previousIndex = -1;
-
- // Irc::SortByName, Qt::DescendingOrder
- buffers = QList<IrcBuffer*>() << jpnurmi << ChanServ << qtassistant; // qtassistant=assistant
- channels = QStringList();
-
- nextIndex = buffers.indexOf(jpnurmi);
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- }
-
- QCOMPARE(countChangedSpy.count(), ++countChangedCount);
- QCOMPARE(countChangedSpy.last().at(0).toInt(), buffers.count());
-
- QCOMPARE(aboutToBeAddedSpy.count(), ++aboutToBeAddedCount);
- QCOMPARE(aboutToBeAddedSpy.last().at(0).value<IrcBuffer*>(), jpnurmi.data());
-
- QCOMPARE(addedSpy.count(), ++addedCount);
- QCOMPARE(addedSpy.last().at(0).value<IrcBuffer*>(), jpnurmi.data());
-
- QCOMPARE(buffersChangedSpy.count(), ++buffersChangedCount);
- QCOMPARE(buffersChangedSpy.last().at(0).value<QList<IrcBuffer*> >(), buffers);
-
- QCOMPARE(channelsChangedSpy.count(), channelsChangedCount);
-
- QCOMPARE(rowsAboutToBeRemovedSpy.count(), rowsAboutToBeRemovedCount);
-
- QCOMPARE(rowsRemovedSpy.count(), rowsRemovedCount);
-
- QCOMPARE(rowsAboutToBeInsertedSpy.count(), ++rowsAboutToBeInsertedCount);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsAboutToBeInsertedSpy.last().at(2).toInt(), nextIndex);
-
- QCOMPARE(rowsInsertedSpy.count(), ++rowsInsertedCount);
- QCOMPARE(rowsInsertedSpy.last().at(0).value<QModelIndex>(), QModelIndex());
- QCOMPARE(rowsInsertedSpy.last().at(1).toInt(), nextIndex);
- QCOMPARE(rowsInsertedSpy.last().at(2).toInt(), nextIndex);
-
- QVERIFY(waitForWritten(":communi!communi@hidd.en QUIT :bye"));
- QCOMPARE(messageIgnoredSpy.count(), messageIgnoredCount);
-
- serverSocket->close();
- QVERIFY(clientSocket->waitForDisconnected(100));
- QVERIFY(!connection->isConnected());
- QVERIFY(!connection->isActive());
-
- QCOMPARE(bufferModel.count(), buffers.count());
- QCOMPARE(bufferModel.buffers(), buffers);
- QCOMPARE(bufferModel.channels(), channels);
-
- for (int i = 0; i < bufferModel.count(); ++i) {
- QCOMPARE(bufferModel.get(i), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::BufferRole).value<IrcBuffer*>(), buffers.at(i));
- QCOMPARE(bufferModel.index(i).data(Irc::ChannelRole).value<IrcChannel*>(), buffers.at(i)->toChannel());
- QVERIFY(!buffers.at(i)->isActive());
- }
-
- QCOMPARE(countChangedSpy.count(), countChangedCount);
- QCOMPARE(aboutToBeAddedSpy.count(), aboutToBeAddedCount);
- QCOMPARE(addedSpy.count(), addedCount);
- QCOMPARE(buffersChangedSpy.count(), buffersChangedCount);
- QCOMPARE(channelsChangedSpy.count(), channelsChangedCount);
- QCOMPARE(dataChangedSpy.count(), dataChangedCount);
- QCOMPARE(rowsAboutToBeRemovedSpy.count(), rowsAboutToBeRemovedCount);
- QCOMPARE(rowsRemovedSpy.count(), rowsRemovedCount);
- QCOMPARE(rowsAboutToBeInsertedSpy.count(), rowsAboutToBeInsertedCount);
- QCOMPARE(rowsInsertedSpy.count(), rowsInsertedCount);
-}
-
-void tst_IrcBufferModel::testActive()
-{
- IrcBufferModel bufferModel;
- bufferModel.setConnection(connection);
-
- connection->open();
- QVERIFY(waitForOpened());
- QVERIFY(waitForWritten(tst_IrcData::welcome()));
-
- QVERIFY(waitForWritten(":communi!communi@hidd.en JOIN :#communi"));
-
- IrcChannel* channel = bufferModel.get(0)->toChannel();
- IrcBuffer* query = bufferModel.add("qtassistant");
-
- channel->setPersistent(true);
- query->setPersistent(true);
-
- QSignalSpy channelActiveSpy(channel, SIGNAL(activeChanged(bool)));
- QSignalSpy queryActiveSpy(query, SIGNAL(activeChanged(bool)));
- QVERIFY(channelActiveSpy.isValid());
- QVERIFY(queryActiveSpy.isValid());
- int channelActiveCount = 0;
- int queryActiveCount = 0;
-
- QVERIFY(channel->isActive());
- QVERIFY(query->isActive());
-
- connection->close();
-
- QVERIFY(!channel->isActive());
- QVERIFY(!query->isActive());
-
- QCOMPARE(channelActiveSpy.count(), ++channelActiveCount);
- QCOMPARE(queryActiveSpy.count(), ++queryActiveCount);
-
- connection->open();
- QVERIFY(waitForOpened());
- QVERIFY(waitForWritten(tst_IrcData::welcome()));
-
- QVERIFY(!channel->isActive());
- QVERIFY(query->isActive());
-
- QCOMPARE(channelActiveSpy.count(), channelActiveCount);
- QCOMPARE(queryActiveSpy.count(), ++queryActiveCount);
-
- QVERIFY(waitForWritten(":communi!communi@hidd.en JOIN :#communi"));
-
- QVERIFY(channel->isActive());
- QVERIFY(query->isActive());
-
- QCOMPARE(channelActiveSpy.count(), ++channelActiveCount);
- QCOMPARE(queryActiveSpy.count(), queryActiveCount);
-
- QVERIFY(waitForWritten(":communi!communi@hidd.en PART #communi"));
-
- QVERIFY(!channel->isActive());
- QVERIFY(query->isActive());
-
- QCOMPARE(channelActiveSpy.count(), ++channelActiveCount);
- QCOMPARE(queryActiveSpy.count(), queryActiveCount);
-
- connection->close();
-
- QVERIFY(!channel->isActive());
- QVERIFY(!query->isActive());
-
- QCOMPARE(channelActiveSpy.count(), channelActiveCount);
- QCOMPARE(queryActiveSpy.count(), ++queryActiveCount);
-}
-
-void tst_IrcBufferModel::testRoles()
-{
- IrcBufferModel model;
- QHash<int, QByteArray> roles = model.roleNames();
- QCOMPARE(roles.take(Qt::DisplayRole), QByteArray("display"));
- QCOMPARE(roles.take(Irc::BufferRole), QByteArray("buffer"));
- QCOMPARE(roles.take(Irc::ChannelRole), QByteArray("channel"));
- QCOMPARE(roles.take(Irc::NameRole), QByteArray("name"));
- QCOMPARE(roles.take(Irc::PrefixRole), QByteArray("prefix"));
- QCOMPARE(roles.take(Irc::TitleRole), QByteArray("title"));
- QVERIFY(roles.isEmpty());
-}
-
-void tst_IrcBufferModel::testAIM()
-{
- IrcBufferModel bufferModel(connection);
- IrcBuffer* a = bufferModel.add("#a");
- IrcBuffer* b = bufferModel.add("#b");
- IrcBuffer* c = bufferModel.add("c");
- IrcBuffer* o = 0;
-
- QAbstractItemModel* aim = &bufferModel;
- QModelIndex ai = aim->index(0, 0);
- QModelIndex bi = aim->index(1, 0);
- QModelIndex ci = aim->index(2, 0);
- QModelIndex oi = aim->index(100, 100);
-
- QVERIFY(ai.isValid());
- QVERIFY(bi.isValid());
- QVERIFY(ci.isValid());
- QVERIFY(!oi.isValid());
-
- QCOMPARE(aim->rowCount(QModelIndex()), 3);
- QCOMPARE(aim->rowCount(ai), 0);
-
- QCOMPARE(aim->columnCount(QModelIndex()), 1);
- QCOMPARE(aim->columnCount(ai), 0);
-
- QCOMPARE(bufferModel.index(a), ai);
- QCOMPARE(bufferModel.index(b), bi);
- QCOMPARE(bufferModel.index(c), ci);
- QVERIFY(!bufferModel.index(o).isValid());
-
- QCOMPARE(bufferModel.buffer(ai), a);
- QCOMPARE(bufferModel.buffer(bi), b);
- QCOMPARE(bufferModel.buffer(ci), c);
- QVERIFY(!bufferModel.buffer(oi));
-
- bufferModel.setDisplayRole(Irc::TitleRole);
- QCOMPARE(aim->data(ai, Qt::DisplayRole).toString(), a->title());
- QCOMPARE(aim->data(bi, Qt::DisplayRole).toString(), b->title());
- QCOMPARE(aim->data(ci, Qt::DisplayRole).toString(), c->title());
- QVERIFY(aim->data(oi, Qt::DisplayRole).toString().isEmpty());
-
- bufferModel.setDisplayRole(Irc::BufferRole);
- QCOMPARE(aim->data(ai, Qt::DisplayRole).value<IrcBuffer*>(), a);
- QCOMPARE(aim->data(bi, Qt::DisplayRole).value<IrcBuffer*>(), b);
- QCOMPARE(aim->data(ci, Qt::DisplayRole).value<IrcBuffer*>(), c);
- QVERIFY(!aim->data(oi, Qt::DisplayRole).value<IrcBuffer*>());
-
- QCOMPARE(aim->data(ai, Irc::BufferRole).value<IrcBuffer*>(), a);
- QCOMPARE(aim->data(bi, Irc::BufferRole).value<IrcBuffer*>(), b);
- QCOMPARE(aim->data(ci, Irc::BufferRole).value<IrcBuffer*>(), c);
- QVERIFY(!aim->data(oi, Irc::BufferRole).value<IrcBuffer*>());
-
- QCOMPARE(aim->data(ai, Irc::ChannelRole).value<IrcChannel*>(), a->toChannel());
- QCOMPARE(aim->data(bi, Irc::ChannelRole).value<IrcChannel*>(), b->toChannel());
- QCOMPARE(aim->data(ci, Irc::ChannelRole).value<IrcChannel*>(), c->toChannel());
- QVERIFY(!aim->data(oi, Irc::ChannelRole).value<IrcChannel*>());
-
- QCOMPARE(aim->data(ai, Irc::TitleRole).toString(), a->title());
- QCOMPARE(aim->data(bi, Irc::TitleRole).toString(), b->title());
- QCOMPARE(aim->data(ci, Irc::TitleRole).toString(), c->title());
- QVERIFY(aim->data(oi, Irc::TitleRole).toString().isEmpty());
-
- QCOMPARE(aim->data(ai, Irc::NameRole).toString(), a->name());
- QCOMPARE(aim->data(bi, Irc::NameRole).toString(), b->name());
- QCOMPARE(aim->data(ci, Irc::NameRole).toString(), c->name());
- QVERIFY(aim->data(oi, Irc::NameRole).toString().isEmpty());
-
- QVERIFY(aim->data(ai, Irc::PrefixRole).toString().isEmpty());
- QVERIFY(aim->data(bi, Irc::PrefixRole).toString().isEmpty());
- QVERIFY(aim->data(ci, Irc::PrefixRole).toString().isEmpty());
- QVERIFY(aim->data(oi, Irc::PrefixRole).toString().isEmpty());
-}
-
-class FakeQmlBufferModel : public IrcBufferModel
-{
- Q_OBJECT
- friend class tst_IrcBufferModel;
-
-public slots:
- // -Wno-overloaded-virtual
- QVariant createBuffer(const QVariant& title)
- {
- IrcBuffer* buffer = IrcBufferModel::createBuffer(title.toString());
- buffer->setObjectName("QML buffer");
- return QVariant::fromValue(buffer);
- }
- QVariant createChannel(const QVariant& title)
- {
- IrcChannel* channel = IrcBufferModel::createChannel(title.toString());
- channel->setObjectName("QML channel");
- return QVariant::fromValue(channel);
- }
-};
-
-void tst_IrcBufferModel::testQML()
-{
- FakeQmlBufferModel model;
- model.setConnection(connection);
-
- connection->open();
- QVERIFY(waitForOpened());
- QVERIFY(waitForWritten(tst_IrcData::welcome()));
-
- QCOMPARE(model.add("buffer")->objectName(), QString("QML buffer"));
- QCOMPARE(model.add("#channel")->objectName(), QString("QML channel"));
-}
-
-void tst_IrcBufferModel::testWarnings()
-{
- IrcBufferModel model(connection);
- model.setConnection(connection);
-
- QTest::ignoreMessage(QtCriticalMsg, "IrcBufferModel::setConnection(): changing the connection on the fly is not supported.");
-
- IrcConnection another;
- model.setConnection(&another);
-}
-
-QTEST_MAIN(tst_IrcBufferModel)
-
-#include "tst_ircbuffermodel.moc"