┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tests/CMakeLists.txt4
-rw-r--r--src/tests/dolphinsearchboxtest.cpp5
-rw-r--r--src/tests/kfileitemlistviewtest.cpp25
-rw-r--r--src/tests/kfileitemmodelbenchmark.cpp17
-rw-r--r--src/tests/kfileitemmodeltest.cpp518
-rw-r--r--src/tests/kitemlistcontrollertest.cpp19
-rw-r--r--src/tests/kitemlistkeyboardsearchmanagertest.cpp13
-rw-r--r--src/tests/kitemlistselectionmanagertest.cpp5
-rw-r--r--src/tests/kitemrangetest.cpp3
-rw-r--r--src/tests/kitemsettest.cpp3
-rw-r--r--src/tests/kstandarditemmodeltest.cpp4
-rw-r--r--src/tests/testdir.cpp17
-rw-r--r--src/tests/testdir.h8
-rw-r--r--src/tests/viewpropertiestest.cpp17
14 files changed, 325 insertions, 333 deletions
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index 60f6517e8..a69400baa 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -52,7 +52,7 @@ set(kitemlistcontrollertest_SRCS
../kitemviews/kitemlistview.cpp
../kitemviews/kitemlistcontainer.cpp
../kitemviews/kitemlistwidget.cpp
-# ../kitemviews/kitemlistviewaccessible.cpp # TODO: enable once accessibility is ported to Qt5
+ ../kitemviews/kitemlistviewaccessible.cpp
../kitemviews/kitemset.cpp
../kitemviews/kstandarditemlistview.cpp
../kitemviews/kstandarditemlistwidget.cpp
@@ -71,7 +71,7 @@ set(kfileitemlistviewtest_SRCS
../kitemviews/kfileitemlistview.cpp
../kitemviews/kitemmodelbase.cpp
../kitemviews/kitemlistview.cpp
-# ../kitemviews/kitemlistviewaccessible.cpp # TODO: enable once accessibility is ported to Qt5
+ ../kitemviews/kitemlistviewaccessible.cpp
../kitemviews/kitemlistcontainer.cpp
../kitemviews/kitemlistwidget.cpp
../kitemviews/kitemset.cpp
diff --git a/src/tests/dolphinsearchboxtest.cpp b/src/tests/dolphinsearchboxtest.cpp
index 49bc7e824..862a398a5 100644
--- a/src/tests/dolphinsearchboxtest.cpp
+++ b/src/tests/dolphinsearchboxtest.cpp
@@ -17,10 +17,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <qtest.h>
-
#include "search/dolphinsearchbox.h"
-#include <qtestkeyboard.h>
+
+#include <QTest>
class DolphinSearchBoxTest : public QObject
{
diff --git a/src/tests/kfileitemlistviewtest.cpp b/src/tests/kfileitemlistviewtest.cpp
index 696580c0a..9e1add8cf 100644
--- a/src/tests/kfileitemlistviewtest.cpp
+++ b/src/tests/kfileitemlistviewtest.cpp
@@ -17,18 +17,14 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <qtest.h>
-#include <QSignalSpy>
#include "kitemviews/kfileitemlistview.h"
#include "kitemviews/kfileitemmodel.h"
#include "kitemviews/private/kfileitemmodeldirlister.h"
#include "testdir.h"
#include <QGraphicsView>
-
-namespace {
- const int DefaultTimeout = 2000;
-};
+#include <QTest>
+#include <QSignalSpy>
class KFileItemListViewTest : public QObject
{
@@ -91,27 +87,24 @@ void KFileItemListViewTest::cleanup()
*/
void KFileItemListViewTest::testGroupedItemChanges()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved);
+
m_model->setGroupedSorting(true);
m_testDir->createFiles({"1", "3", "5"});
-
m_model->loadDirectory(m_testDir->url());
- QSignalSpy psy(m_model, SIGNAL(itemsInserted(KItemRangeList)));
- QVERIFY(psy.wait(DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 3);
m_testDir->createFiles({"2", "4"});
m_model->m_dirLister->updateDirectory(m_testDir->url());
- QSignalSpy psyItemsInserted(m_model, SIGNAL(itemsInserted(KItemRangeList)));
- QVERIFY(psyItemsInserted.wait(DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 5);
- m_testDir->removeFile("1");
- m_testDir->removeFile("3");
- m_testDir->removeFile("5");
+ m_testDir->removeFiles({"1", "3", "5"});
m_model->m_dirLister->updateDirectory(m_testDir->url());
- QSignalSpy psyItemsRemoved(m_model, SIGNAL(itemsRemoved(KItemRangeList)));
- QVERIFY(psyItemsRemoved.wait(DefaultTimeout));
+ QVERIFY(itemsRemovedSpy.wait());
QCOMPARE(m_model->count(), 2);
}
diff --git a/src/tests/kfileitemmodelbenchmark.cpp b/src/tests/kfileitemmodelbenchmark.cpp
index 43d7173de..c970a7198 100644
--- a/src/tests/kfileitemmodelbenchmark.cpp
+++ b/src/tests/kfileitemmodelbenchmark.cpp
@@ -18,15 +18,17 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <qtest.h>
+#include <QTest>
#include <QSignalSpy>
+
+#include <algorithm>
+#include <random>
+
#include "kitemviews/kfileitemmodel.h"
#include "kitemviews/private/kfileitemmodelsortalgorithm.h"
#include "testdir.h"
-#include <KRandomSequence>
-
void myMessageOutput(QtMsgType type, const char* msg)
{
switch (type) {
@@ -45,10 +47,6 @@ void myMessageOutput(QtMsgType type, const char* msg)
}
}
-namespace {
- const int DefaultTimeout = 5000;
-};
-
Q_DECLARE_METATYPE(KFileItemList)
Q_DECLARE_METATYPE(KItemRangeList)
@@ -294,8 +292,9 @@ void KFileItemModelBenchmark::insertManyChildItems()
}
// Bring the items into random order.
- KRandomSequence randomSequence(0);
- randomSequence.randomize(newItems);
+ std::random_device rd;
+ std::mt19937 g(rd());
+ std::shuffle(newItems.begin(), newItems.end(), g);
// Measure how long it takes to insert and then remove all files.
QBENCHMARK {
diff --git a/src/tests/kfileitemmodeltest.cpp b/src/tests/kfileitemmodeltest.cpp
index fbe34e2a7..74b2342c8 100644
--- a/src/tests/kfileitemmodeltest.cpp
+++ b/src/tests/kfileitemmodeltest.cpp
@@ -18,7 +18,10 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <qtest_kde.h>
+#include <QTest>
+#include <QSignalSpy>
+#include <QTimer>
+#include <QMimeData>
#include <kio/job.h>
@@ -44,10 +47,6 @@ void myMessageOutput(QtMsgType type, const char* msg)
}
}
-namespace {
- const int DefaultTimeout = 5000;
-};
-
Q_DECLARE_METATYPE(KItemRange)
Q_DECLARE_METATYPE(KItemRangeList)
Q_DECLARE_METATYPE(QList<int>)
@@ -142,15 +141,14 @@ void KFileItemModelTest::testDefaultRoles()
void KFileItemModelTest::testDefaultSortRole()
{
- QCOMPARE(m_model->sortRole(), QByteArray("text"));
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
- QStringList files;
- files << "c.txt" << "a.txt" << "b.txt";
+ QCOMPARE(m_model->sortRole(), QByteArray("text"));
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"c.txt", "a.txt", "b.txt"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 3);
QCOMPARE(m_model->data(0)["text"].toString(), QString("a.txt"));
@@ -165,12 +163,12 @@ void KFileItemModelTest::testDefaultGroupedSorting()
void KFileItemModelTest::testNewItems()
{
- QStringList files;
- files << "a.txt" << "b.txt" << "c.txt";
- m_testDir->createFiles(files);
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
+ m_testDir->createFiles({"a.txt", "b.txt", "c.txt"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 3);
@@ -179,30 +177,32 @@ void KFileItemModelTest::testNewItems()
void KFileItemModelTest::testRemoveItems()
{
- m_testDir->createFile("a.txt");
- m_testDir->createFile("b.txt");
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved);
+
+ m_testDir->createFiles({"a.txt", "b.txt"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 2);
QVERIFY(m_model->isConsistent());
m_testDir->removeFile("a.txt");
m_model->m_dirLister->updateDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsRemoved(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsRemovedSpy.wait());
QCOMPARE(m_model->count(), 1);
QVERIFY(m_model->isConsistent());
}
void KFileItemModelTest::testDirLoadingCompleted()
{
- QSignalSpy loadingCompletedSpy(m_model, SIGNAL(directoryLoadingCompleted()));
- QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList)));
- QSignalSpy itemsRemovedSpy(m_model, SIGNAL(itemsRemoved(KItemRangeList)));
+ QSignalSpy loadingCompletedSpy(m_model, &KFileItemModel::directoryLoadingCompleted);
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved);
m_testDir->createFiles({"a.txt", "b.txt", "c.txt"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(directoryLoadingCompleted()), DefaultTimeout));
+ QVERIFY(loadingCompletedSpy.wait());
QCOMPARE(loadingCompletedSpy.count(), 1);
QCOMPARE(itemsInsertedSpy.count(), 1);
QCOMPARE(itemsRemovedSpy.count(), 0);
@@ -210,7 +210,7 @@ void KFileItemModelTest::testDirLoadingCompleted()
m_testDir->createFiles({"d.txt", "e.txt"});
m_model->m_dirLister->updateDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(directoryLoadingCompleted()), DefaultTimeout));
+ QVERIFY(loadingCompletedSpy.wait());
QCOMPARE(loadingCompletedSpy.count(), 2);
QCOMPARE(itemsInsertedSpy.count(), 2);
QCOMPARE(itemsRemovedSpy.count(), 0);
@@ -219,7 +219,7 @@ void KFileItemModelTest::testDirLoadingCompleted()
m_testDir->removeFile("a.txt");
m_testDir->createFile("f.txt");
m_model->m_dirLister->updateDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(directoryLoadingCompleted()), DefaultTimeout));
+ QVERIFY(loadingCompletedSpy.wait());
QCOMPARE(loadingCompletedSpy.count(), 3);
QCOMPARE(itemsInsertedSpy.count(), 3);
QCOMPARE(itemsRemovedSpy.count(), 1);
@@ -227,7 +227,7 @@ void KFileItemModelTest::testDirLoadingCompleted()
m_testDir->removeFile("b.txt");
m_model->m_dirLister->updateDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsRemoved(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsRemovedSpy.wait());
QCOMPARE(loadingCompletedSpy.count(), 4);
QCOMPARE(itemsInsertedSpy.count(), 3);
QCOMPARE(itemsRemovedSpy.count(), 2);
@@ -238,16 +238,18 @@ void KFileItemModelTest::testDirLoadingCompleted()
void KFileItemModelTest::testSetData()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsChangedSpy(m_model, &KFileItemModel::itemsChanged);
+
m_testDir->createFile("a.txt");
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QHash<QByteArray, QVariant> values;
values.insert("customRole1", "Test1");
values.insert("customRole2", "Test2");
- QSignalSpy itemsChangedSpy(m_model, SIGNAL(itemsChanged(KItemRangeList,QSet<QByteArray>)));
m_model->setData(0, values);
QCOMPARE(itemsChangedSpy.count(), 1);
@@ -289,18 +291,19 @@ void KFileItemModelTest::testSetDataWithModifiedSortRole()
QFETCH(int, ratingIndex1);
QFETCH(int, ratingIndex2);
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved);
+
// Changing the value of a sort-role must result in
// a reordering of the items.
QCOMPARE(m_model->sortRole(), QByteArray("text"));
m_model->setSortRole("rating");
QCOMPARE(m_model->sortRole(), QByteArray("rating"));
- QStringList files;
- files << "a.txt" << "b.txt" << "c.txt";
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"a.txt", "b.txt", "c.txt"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
// Fill the "rating" role of each file:
// a.txt -> 2
@@ -330,7 +333,7 @@ void KFileItemModelTest::testSetDataWithModifiedSortRole()
m_model->setData(changedIndex, rating);
if (expectMoveSignal) {
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsMoved(KItemRange,QList<int>)), DefaultTimeout));
+ QVERIFY(itemsMovedSpy.wait());
}
QCOMPARE(m_model->data(0).value("rating").toInt(), ratingIndex0);
@@ -341,14 +344,15 @@ void KFileItemModelTest::testSetDataWithModifiedSortRole()
void KFileItemModelTest::testChangeSortRole()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved);
+
QCOMPARE(m_model->sortRole(), QByteArray("text"));
- QStringList files;
- files << "a.txt" << "b.jpg" << "c.txt";
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"a.txt", "b.jpg", "c.txt"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.jpg" << "c.txt");
// Simulate that KFileItemModelRolesUpdater determines the mime type.
@@ -359,10 +363,9 @@ void KFileItemModelTest::testChangeSortRole()
}
// Now: sort by type.
- QSignalSpy spyItemsMoved(m_model, SIGNAL(itemsMoved(KItemRange,QList<int>)));
m_model->setSortRole("type");
QCOMPARE(m_model->sortRole(), QByteArray("type"));
- QVERIFY(!spyItemsMoved.isEmpty());
+ QVERIFY(!itemsMovedSpy.isEmpty());
// The actual order of the files might depend on the translation of the
// result of KFileItem::mimeComment() in the user's language.
@@ -380,16 +383,17 @@ void KFileItemModelTest::testChangeSortRole()
void KFileItemModelTest::testResortAfterChangingName()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved);
+
// We sort by size in a directory where all files have the same size.
// Therefore, the files are sorted by their names.
m_model->setSortRole("size");
- QStringList files;
- files << "a.txt" << "b.txt" << "c.txt";
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"a.txt", "b.txt", "c.txt"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt" << "c.txt");
// We rename a.txt to d.txt. Even though the size has not changed at all,
@@ -398,7 +402,7 @@ void KFileItemModelTest::testResortAfterChangingName()
data.insert("text", "d.txt");
m_model->setData(0, data);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsMoved(KItemRange,QList<int>)), DefaultTimeout));
+ QVERIFY(itemsMovedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "b.txt" << "c.txt" << "d.txt");
// We rename d.txt back to a.txt using the dir lister's refreshItems() signal.
@@ -410,13 +414,13 @@ void KFileItemModelTest::testResortAfterChangingName()
m_model->slotRefreshItems({qMakePair(fileItemD, fileItemA)});
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsMoved(KItemRange,QList<int>)), DefaultTimeout));
+ QVERIFY(itemsMovedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt" << "c.txt");
}
void KFileItemModelTest::testModelConsistencyWhenInsertingItems()
{
- //QSKIP("Temporary disabled", SkipSingle);
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
// KFileItemModel prevents that inserting a punch of items sequentially
// results in an itemsInserted()-signal for each item. Instead internally
@@ -426,14 +430,14 @@ void KFileItemModelTest::testModelConsistencyWhenInsertingItems()
// the timeout to 1 millisecond.
m_testDir->createFile("1");
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 1);
// Insert 10 items for 20 times. After each insert operation the model consistency
// is checked.
QSet<int> insertedItems;
for (int i = 0; i < 20; ++i) {
- QSignalSpy spy(m_model, SIGNAL(itemsInserted(KItemRangeList)));
+ itemsInsertedSpy.clear();
for (int j = 0; j < 10; ++j) {
int itemName = qrand();
@@ -446,8 +450,8 @@ void KFileItemModelTest::testModelConsistencyWhenInsertingItems()
}
m_model->m_dirLister->updateDirectory(m_testDir->url());
- if (spy.count() == 0) {
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ if (itemsInsertedSpy.count() == 0) {
+ QVERIFY(itemsInsertedSpy.wait());
}
QVERIFY(m_model->isConsistent());
@@ -458,18 +462,17 @@ void KFileItemModelTest::testModelConsistencyWhenInsertingItems()
void KFileItemModelTest::testItemRangeConsistencyWhenInsertingItems()
{
- QStringList files;
- files << "B" << "E" << "G";
- m_testDir->createFiles(files);
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
+ m_testDir->createFiles({"B", "E", "G"});
// Due to inserting the 3 items one item-range with index == 0 and
// count == 3 must be given
- QSignalSpy spy1(m_model, SIGNAL(itemsInserted(KItemRangeList)));
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
- QCOMPARE(spy1.count(), 1);
- QList<QVariant> arguments = spy1.takeFirst();
+ QCOMPARE(itemsInsertedSpy.count(), 1);
+ QList<QVariant> arguments = itemsInsertedSpy.takeFirst();
KItemRangeList itemRangeList = arguments.at(0).value<KItemRangeList>();
QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 3));
@@ -485,22 +488,23 @@ void KFileItemModelTest::testItemRangeConsistencyWhenInsertingItems()
// index: 1, count: 2 for B, C
// index: 2, count: 1 for G
- files.clear();
- files << "A" << "C" << "D" << "F";
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"A", "C", "D", "F"});
- QSignalSpy spy2(m_model, SIGNAL(itemsInserted(KItemRangeList)));
m_model->m_dirLister->updateDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
- QCOMPARE(spy2.count(), 1);
- arguments = spy2.takeFirst();
+ QCOMPARE(itemsInsertedSpy.count(), 1);
+ arguments = itemsInsertedSpy.takeFirst();
itemRangeList = arguments.at(0).value<KItemRangeList>();
QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 1) << KItemRange(1, 2) << KItemRange(2, 1));
}
void KFileItemModelTest::testExpandItems()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved);
+ QSignalSpy loadingCompletedSpy(m_model, &KFileItemModel::directoryLoadingCompleted);
+
// Test expanding subfolders in a folder with the items "a/", "a/a/", "a/a/1", "a/a-1/", "a/a-1/1".
// Besides testing the basic item expansion functionality, the test makes sure that
// KFileItemModel::expansionLevelsCompare(const KFileItem& a, const KFileItem& b)
@@ -511,18 +515,16 @@ void KFileItemModelTest::testExpandItems()
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "a/a/1" << "a/a-1/1"; // missing folders are created automatically
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"a/a/1", "a/a-1/1"});
// Store the URLs of all folders in a set.
QSet<QUrl> allFolders;
- allFolders << QUrl::fromLocalFile(m_testDir->name() + 'a')
- << QUrl::fromLocalFile(m_testDir->name() + "a/a")
- << QUrl::fromLocalFile(m_testDir->name() + "a/a-1");
+ allFolders << QUrl::fromLocalFile(m_testDir->path() + "/a")
+ << QUrl::fromLocalFile(m_testDir->path() + "/a/a")
+ << QUrl::fromLocalFile(m_testDir->path() + "/a/a-1");
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
// So far, the model contains only "a/"
QCOMPARE(m_model->count(), 1);
@@ -530,17 +532,19 @@ void KFileItemModelTest::testExpandItems()
QVERIFY(!m_model->isExpanded(0));
QVERIFY(m_model->expandedDirectories().empty());
- QSignalSpy spyInserted(m_model, SIGNAL(itemsInserted(KItemRangeList)));
+ QCOMPARE(itemsInsertedSpy.count(), 1);
+ KItemRangeList itemRangeList = itemsInsertedSpy.takeFirst().at(0).value<KItemRangeList>();
+ QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 1)); // 1 new item "a/" with index 0
// Expand the folder "a/" -> "a/a/" and "a/a-1/" become visible
m_model->setExpanded(0, true);
QVERIFY(m_model->isExpanded(0));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 3); // 3 items: "a/", "a/a/", "a/a-1/"
- QCOMPARE(m_model->expandedDirectories(), QSet<QUrl>() << QUrl::fromLocalFile(m_testDir->name() + 'a'));
+ QCOMPARE(m_model->expandedDirectories(), QSet<QUrl>() << QUrl::fromLocalFile(m_testDir->path() + "/a"));
- QCOMPARE(spyInserted.count(), 1);
- KItemRangeList itemRangeList = spyInserted.takeFirst().at(0).value<KItemRangeList>();
+ QCOMPARE(itemsInsertedSpy.count(), 1);
+ itemRangeList = itemsInsertedSpy.takeFirst().at(0).value<KItemRangeList>();
QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(1, 2)); // 2 new items "a/a/" and "a/a-1/" with indices 1 and 2
QVERIFY(m_model->isExpandable(1));
@@ -551,12 +555,13 @@ void KFileItemModelTest::testExpandItems()
// Expand the folder "a/a/" -> "a/a/1" becomes visible
m_model->setExpanded(1, true);
QVERIFY(m_model->isExpanded(1));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 4); // 4 items: "a/", "a/a/", "a/a/1", "a/a-1/"
- QCOMPARE(m_model->expandedDirectories(), QSet<QUrl>() << QUrl::fromLocalFile(m_testDir->name() + 'a') << QUrl::fromLocalFile(m_testDir->name() + "a/a"));
+ QCOMPARE(m_model->expandedDirectories(), QSet<QUrl>() << QUrl::fromLocalFile(m_testDir->path() + "/a")
+ << QUrl::fromLocalFile(m_testDir->path() + "/a/a"));
- QCOMPARE(spyInserted.count(), 1);
- itemRangeList = spyInserted.takeFirst().at(0).value<KItemRangeList>();
+ QCOMPARE(itemsInsertedSpy.count(), 1);
+ itemRangeList = itemsInsertedSpy.takeFirst().at(0).value<KItemRangeList>();
QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(2, 1)); // 1 new item "a/a/1" with index 2
QVERIFY(!m_model->isExpandable(2));
@@ -565,27 +570,25 @@ void KFileItemModelTest::testExpandItems()
// Expand the folder "a/a-1/" -> "a/a-1/1" becomes visible
m_model->setExpanded(3, true);
QVERIFY(m_model->isExpanded(3));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 5); // 5 items: "a/", "a/a/", "a/a/1", "a/a-1/", "a/a-1/1"
QCOMPARE(m_model->expandedDirectories(), allFolders);
- QCOMPARE(spyInserted.count(), 1);
- itemRangeList = spyInserted.takeFirst().at(0).value<KItemRangeList>();
+ QCOMPARE(itemsInsertedSpy.count(), 1);
+ itemRangeList = itemsInsertedSpy.takeFirst().at(0).value<KItemRangeList>();
QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(4, 1)); // 1 new item "a/a-1/1" with index 4
QVERIFY(!m_model->isExpandable(4));
QVERIFY(!m_model->isExpanded(4));
- QSignalSpy spyRemoved(m_model, SIGNAL(itemsRemoved(KItemRangeList)));
-
// Collapse the top-level folder -> all other items should disappear
m_model->setExpanded(0, false);
QVERIFY(!m_model->isExpanded(0));
QCOMPARE(m_model->count(), 1);
- QVERIFY(!m_model->expandedDirectories().contains(QUrl::fromLocalFile(m_testDir->name() + 'a'))); // TODO: Make sure that child URLs are also removed
+ QVERIFY(!m_model->expandedDirectories().contains(QUrl::fromLocalFile(m_testDir->path() + "/a"))); // TODO: Make sure that child URLs are also removed
- QCOMPARE(spyRemoved.count(), 1);
- itemRangeList = spyRemoved.takeFirst().at(0).value<KItemRangeList>();
+ QCOMPARE(itemsRemovedSpy.count(), 1);
+ itemRangeList = itemsRemovedSpy.takeFirst().at(0).value<KItemRangeList>();
QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(1, 4)); // 4 items removed
QVERIFY(m_model->isConsistent());
@@ -596,7 +599,7 @@ void KFileItemModelTest::testExpandItems()
m_model->loadDirectory(m_testDir->url());
m_model->restoreExpandedDirectories(allFolders);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(directoryLoadingCompleted()), DefaultTimeout));
+ QVERIFY(loadingCompletedSpy.wait());
QCOMPARE(m_model->count(), 5); // 5 items: "a/", "a/a/", "a/a/1", "a/a-1/", "a/a-1/1"
QVERIFY(m_model->isExpanded(0));
QVERIFY(m_model->isExpanded(1));
@@ -608,30 +611,33 @@ void KFileItemModelTest::testExpandItems()
// Move to a sub folder, then call restoreExpandedFolders() *before* going back.
// This is how DolphinView restores the expanded folders when navigating in history.
- m_model->loadDirectory(QUrl::fromLocalFile(m_testDir->name() + "a/a/"));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(directoryLoadingCompleted()), DefaultTimeout));
+ m_model->loadDirectory(QUrl::fromLocalFile(m_testDir->path() + "/a/a/"));
+ QVERIFY(loadingCompletedSpy.wait());
QCOMPARE(m_model->count(), 1); // 1 item: "1"
m_model->restoreExpandedDirectories(allFolders);
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(directoryLoadingCompleted()), DefaultTimeout));
+ QVERIFY(loadingCompletedSpy.wait());
QCOMPARE(m_model->count(), 5); // 5 items: "a/", "a/a/", "a/a/1", "a/a-1/", "a/a-1/1"
QCOMPARE(m_model->expandedDirectories(), allFolders);
// Remove all expanded items by changing the roles
- spyRemoved.clear();
+ itemsRemovedSpy.clear();
m_model->setRoles(originalModelRoles);
QVERIFY(!m_model->isExpanded(0));
QCOMPARE(m_model->count(), 1);
- QVERIFY(!m_model->expandedDirectories().contains(QUrl::fromLocalFile(m_testDir->name() + 'a')));
+ QVERIFY(!m_model->expandedDirectories().contains(QUrl::fromLocalFile(m_testDir->path() + "/a")));
- QCOMPARE(spyRemoved.count(), 1);
- itemRangeList = spyRemoved.takeFirst().at(0).value<KItemRangeList>();
+ QCOMPARE(itemsRemovedSpy.count(), 1);
+ itemRangeList = itemsRemovedSpy.takeFirst().at(0).value<KItemRangeList>();
QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(1, 4)); // 4 items removed
QVERIFY(m_model->isConsistent());
}
void KFileItemModelTest::testExpandParentItems()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy loadingCompletedSpy(m_model, &KFileItemModel::directoryLoadingCompleted);
+
// Create a tree structure of folders:
// a 1/
// a 1/b1/
@@ -644,20 +650,18 @@ void KFileItemModelTest::testExpandParentItems()
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "a 1/b1/c1/file.txt" << "a2/b2/c2/d2/file.txt"; // missing folders are created automatically
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"a 1/b1/c1/file.txt", "a2/b2/c2/d2/file.txt"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
// So far, the model contains only "a 1/" and "a2/".
QCOMPARE(m_model->count(), 2);
QVERIFY(m_model->expandedDirectories().empty());
// Expand the parents of "a2/b2/c2".
- m_model->expandParentDirectories(QUrl::fromLocalFile(m_testDir->name() + "a2/b2/c2"));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(directoryLoadingCompleted()), DefaultTimeout));
+ m_model->expandParentDirectories(QUrl::fromLocalFile(m_testDir->path() + "a2/b2/c2"));
+ QVERIFY(loadingCompletedSpy.wait());
// The model should now contain "a 1/", "a2/", "a2/b2/", and "a2/b2/c2/".
// It's important that only the parents of "a1/b1/c1" are expanded.
@@ -668,8 +672,8 @@ void KFileItemModelTest::testExpandParentItems()
QVERIFY(!m_model->isExpanded(3));
// Expand the parents of "a 1/b1".
- m_model->expandParentDirectories(QUrl::fromLocalFile(m_testDir->name() + "a 1/b1"));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(directoryLoadingCompleted()), DefaultTimeout));
+ m_model->expandParentDirectories(QUrl::fromLocalFile(m_testDir->path() + "a 1/b1"));
+ QVERIFY(loadingCompletedSpy.wait());
// The model should now contain "a 1/", "a 1/b1/", "a2/", "a2/b2", and "a2/b2/c2/".
// It's important that only the parents of "a 1/b1/" and "a2/b2/c2/" are expanded.
@@ -683,7 +687,7 @@ void KFileItemModelTest::testExpandParentItems()
// Expand "a 1/b1/".
m_model->setExpanded(1, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(directoryLoadingCompleted()), DefaultTimeout));
+ QVERIFY(loadingCompletedSpy.wait());
QCOMPARE(m_model->count(), 6);
QVERIFY(m_model->isExpanded(0));
QVERIFY(m_model->isExpanded(1));
@@ -711,28 +715,27 @@ void KFileItemModelTest::testExpandParentItems()
*/
void KFileItemModelTest::testMakeExpandedItemHidden()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved);
+
QSet<QByteArray> modelRoles = m_model->roles();
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- m_testDir->createFile("1a/2a/3a");
- m_testDir->createFile("1a/2a/3b");
- m_testDir->createFile("1a/2b");
- m_testDir->createFile("1b");
+ m_testDir->createFiles({"1a/2a/3a", "1a/2a/3b", "1a/2b", "1b"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
// So far, the model contains only "1a/" and "1b".
QCOMPARE(m_model->count(), 2);
m_model->setExpanded(0, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
// Now "1a/2a" and "1a/2b" have appeared.
QCOMPARE(m_model->count(), 4);
m_model->setExpanded(1, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 6);
// Rename "1a/2" and make it hidden.
@@ -742,7 +745,7 @@ void KFileItemModelTest::testMakeExpandedItemHidden()
KIO::SimpleJob* job = KIO::rename(oldUrl, newUrl, KIO::HideProgressInfo);
bool ok = job->exec();
QVERIFY(ok);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsRemoved(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsRemovedSpy.wait());
// "1a/2" and its subfolders have disappeared now.
QVERIFY(m_model->isConsistent());
@@ -755,17 +758,17 @@ void KFileItemModelTest::testMakeExpandedItemHidden()
void KFileItemModelTest::testRemoveFilteredExpandedItems()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
QSet<QByteArray> originalModelRoles = m_model->roles();
QSet<QByteArray> modelRoles = originalModelRoles;
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "folder/child" << "file"; // missing folders are created automatically
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"folder/child", "file"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
// So far, the model contains only "folder/" and "file".
QCOMPARE(m_model->count(), 2);
@@ -778,7 +781,7 @@ void KFileItemModelTest::testRemoveFilteredExpandedItems()
// Expand "folder" -> "folder/child" becomes visible.
m_model->setExpanded(0, true);
QVERIFY(m_model->isExpanded(0));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "folder" << "child" << "file");
// Add a name filter.
@@ -800,6 +803,9 @@ void KFileItemModelTest::testRemoveFilteredExpandedItems()
void KFileItemModelTest::testSorting()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved);
+
// Create some files with different sizes and modification times to check the different sorting options
QDateTime now = QDateTime::currentDateTime();
@@ -822,15 +828,15 @@ void KFileItemModelTest::testSorting()
m_testDir->createFile(".f");
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
- int index = m_model->index(QUrl(m_testDir->url().url() + 'c'));
+ int index = m_model->index(QUrl(m_testDir->url().url() + "/c"));
m_model->setExpanded(index, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
- index = m_model->index(QUrl(m_testDir->url().url() + "c/c-2"));
+ index = m_model->index(QUrl(m_testDir->url().url() + "/c/c-2"));
m_model->setExpanded(index, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
// Default: Sort by Name, ascending
QCOMPARE(m_model->sortRole(), QByteArray("text"));
@@ -839,16 +845,14 @@ void KFileItemModelTest::testSorting()
QVERIFY(!m_model->showHiddenFiles());
QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "a" << "b" << "d" << "e");
- QSignalSpy spyItemsMoved(m_model, SIGNAL(itemsMoved(KItemRange,QList<int>)));
-
// Sort by Name, ascending, 'Sort Folders First' disabled
m_model->setSortDirectoriesFirst(false);
QCOMPARE(m_model->sortRole(), QByteArray("text"));
QCOMPARE(m_model->sortOrder(), Qt::AscendingOrder);
QCOMPARE(itemsInModel(), QStringList() << "a" << "b" << "c" << "c-1" << "c-2" << "c-3" << "d" << "e");
- QCOMPARE(spyItemsMoved.count(), 1);
- QCOMPARE(spyItemsMoved.first().at(0).value<KItemRange>(), KItemRange(0, 6));
- QCOMPARE(spyItemsMoved.takeFirst().at(1).value<QList<int> >(), QList<int>() << 2 << 4 << 5 << 3 << 0 << 1);
+ QCOMPARE(itemsMovedSpy.count(), 1);
+ QCOMPARE(itemsMovedSpy.first().at(0).value<KItemRange>(), KItemRange(0, 6));
+ QCOMPARE(itemsMovedSpy.takeFirst().at(1).value<QList<int> >(), QList<int>() << 2 << 4 << 5 << 3 << 0 << 1);
// Sort by Name, descending
m_model->setSortDirectoriesFirst(true);
@@ -856,11 +860,11 @@ void KFileItemModelTest::testSorting()
QCOMPARE(m_model->sortRole(), QByteArray("text"));
QCOMPARE(m_model->sortOrder(), Qt::DescendingOrder);
QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "e" << "d" << "b" << "a");
- QCOMPARE(spyItemsMoved.count(), 2);
- QCOMPARE(spyItemsMoved.first().at(0).value<KItemRange>(), KItemRange(0, 6));
- QCOMPARE(spyItemsMoved.takeFirst().at(1).value<QList<int> >(), QList<int>() << 4 << 5 << 0 << 3 << 1 << 2);
- QCOMPARE(spyItemsMoved.first().at(0).value<KItemRange>(), KItemRange(4, 4));
- QCOMPARE(spyItemsMoved.takeFirst().at(1).value<QList<int> >(), QList<int>() << 7 << 6 << 5 << 4);
+ QCOMPARE(itemsMovedSpy.count(), 2);
+ QCOMPARE(itemsMovedSpy.first().at(0).value<KItemRange>(), KItemRange(0, 6));
+ QCOMPARE(itemsMovedSpy.takeFirst().at(1).value<QList<int> >(), QList<int>() << 4 << 5 << 0 << 3 << 1 << 2);
+ QCOMPARE(itemsMovedSpy.first().at(0).value<KItemRange>(), KItemRange(4, 4));
+ QCOMPARE(itemsMovedSpy.takeFirst().at(1).value<QList<int> >(), QList<int>() << 7 << 6 << 5 << 4);
// Sort by Date, descending
m_model->setSortDirectoriesFirst(true);
@@ -868,18 +872,18 @@ void KFileItemModelTest::testSorting()
QCOMPARE(m_model->sortRole(), QByteArray("date"));
QCOMPARE(m_model->sortOrder(), Qt::DescendingOrder);
QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "b" << "d" << "a" << "e");
- QCOMPARE(spyItemsMoved.count(), 1);
- QCOMPARE(spyItemsMoved.first().at(0).value<KItemRange>(), KItemRange(4, 4));
- QCOMPARE(spyItemsMoved.takeFirst().at(1).value<QList<int> >(), QList<int>() << 7 << 5 << 4 << 6);
+ QCOMPARE(itemsMovedSpy.count(), 1);
+ QCOMPARE(itemsMovedSpy.first().at(0).value<KItemRange>(), KItemRange(4, 4));
+ QCOMPARE(itemsMovedSpy.takeFirst().at(1).value<QList<int> >(), QList<int>() << 7 << 5 << 4 << 6);
// Sort by Date, ascending
m_model->setSortOrder(Qt::AscendingOrder);
QCOMPARE(m_model->sortRole(), QByteArray("date"));
QCOMPARE(m_model->sortOrder(), Qt::AscendingOrder);
QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "e" << "a" << "d" << "b");
- QCOMPARE(spyItemsMoved.count(), 1);
- QCOMPARE(spyItemsMoved.first().at(0).value<KItemRange>(), KItemRange(4, 4));
- QCOMPARE(spyItemsMoved.takeFirst().at(1).value<QList<int> >(), QList<int>() << 7 << 6 << 5 << 4);
+ QCOMPARE(itemsMovedSpy.count(), 1);
+ QCOMPARE(itemsMovedSpy.first().at(0).value<KItemRange>(), KItemRange(4, 4));
+ QCOMPARE(itemsMovedSpy.takeFirst().at(1).value<QList<int> >(), QList<int>() << 7 << 6 << 5 << 4);
// Sort by Date, ascending, 'Sort Folders First' disabled
m_model->setSortDirectoriesFirst(false);
@@ -887,18 +891,18 @@ void KFileItemModelTest::testSorting()
QCOMPARE(m_model->sortOrder(), Qt::AscendingOrder);
QVERIFY(!m_model->sortDirectoriesFirst());
QCOMPARE(itemsInModel(), QStringList() << "e" << "a" << "c" << "c-1" << "c-2" << "c-3" << "d" << "b");
- QCOMPARE(spyItemsMoved.count(), 1);
- QCOMPARE(spyItemsMoved.first().at(0).value<KItemRange>(), KItemRange(0, 6));
- QCOMPARE(spyItemsMoved.takeFirst().at(1).value<QList<int> >(), QList<int>() << 2 << 4 << 5 << 3 << 0 << 1);
+ QCOMPARE(itemsMovedSpy.count(), 1);
+ QCOMPARE(itemsMovedSpy.first().at(0).value<KItemRange>(), KItemRange(0, 6));
+ QCOMPARE(itemsMovedSpy.takeFirst().at(1).value<QList<int> >(), QList<int>() << 2 << 4 << 5 << 3 << 0 << 1);
// Sort by Name, ascending, 'Sort Folders First' disabled
m_model->setSortRole("text");
QCOMPARE(m_model->sortOrder(), Qt::AscendingOrder);
QVERIFY(!m_model->sortDirectoriesFirst());
QCOMPARE(itemsInModel(), QStringList() << "a" << "b" << "c" << "c-1" << "c-2" << "c-3" << "d" << "e");
- QCOMPARE(spyItemsMoved.count(), 1);
- QCOMPARE(spyItemsMoved.first().at(0).value<KItemRange>(), KItemRange(0, 8));
- QCOMPARE(spyItemsMoved.takeFirst().at(1).value<QList<int> >(), QList<int>() << 7 << 0 << 2 << 3 << 4 << 5 << 6 << 1);
+ QCOMPARE(itemsMovedSpy.count(), 1);
+ QCOMPARE(itemsMovedSpy.first().at(0).value<KItemRange>(), KItemRange(0, 8));
+ QCOMPARE(itemsMovedSpy.takeFirst().at(1).value<QList<int> >(), QList<int>() << 7 << 0 << 2 << 3 << 4 << 5 << 6 << 1);
// Sort by Size, ascending, 'Sort Folders First' disabled
m_model->setSortRole("size");
@@ -906,9 +910,9 @@ void KFileItemModelTest::testSorting()
QCOMPARE(m_model->sortOrder(), Qt::AscendingOrder);
QVERIFY(!m_model->sortDirectoriesFirst());
QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "a" << "b" << "e" << "d");
- QCOMPARE(spyItemsMoved.count(), 1);
- QCOMPARE(spyItemsMoved.first().at(0).value<KItemRange>(), KItemRange(0, 8));
- QCOMPARE(spyItemsMoved.takeFirst().at(1).value<QList<int> >(), QList<int>() << 4 << 5 << 0 << 3 << 1 << 2 << 7 << 6);
+ QCOMPARE(itemsMovedSpy.count(), 1);
+ QCOMPARE(itemsMovedSpy.first().at(0).value<KItemRange>(), KItemRange(0, 8));
+ QCOMPARE(itemsMovedSpy.takeFirst().at(1).value<QList<int> >(), QList<int>() << 4 << 5 << 0 << 3 << 1 << 2 << 7 << 6);
// In 'Sort by Size' mode, folders are always first -> changing 'Sort Folders First' does not resort the model
m_model->setSortDirectoriesFirst(true);
@@ -916,7 +920,7 @@ void KFileItemModelTest::testSorting()
QCOMPARE(m_model->sortOrder(), Qt::AscendingOrder);
QVERIFY(m_model->sortDirectoriesFirst());
QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "a" << "b" << "e" << "d");
- QCOMPARE(spyItemsMoved.count(), 0);
+ QCOMPARE(itemsMovedSpy.count(), 0);
// Sort by Size, descending, 'Sort Folders First' enabled
m_model->setSortOrder(Qt::DescendingOrder);
@@ -924,21 +928,21 @@ void KFileItemModelTest::testSorting()
QCOMPARE(m_model->sortOrder(), Qt::DescendingOrder);
QVERIFY(m_model->sortDirectoriesFirst());
QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "d" << "e" << "b" << "a");
- QCOMPARE(spyItemsMoved.count(), 1);
- QCOMPARE(spyItemsMoved.first().at(0).value<KItemRange>(), KItemRange(4, 4));
- QCOMPARE(spyItemsMoved.takeFirst().at(1).value<QList<int> >(), QList<int>() << 7 << 6 << 5 << 4);
+ QCOMPARE(itemsMovedSpy.count(), 1);
+ QCOMPARE(itemsMovedSpy.first().at(0).value<KItemRange>(), KItemRange(4, 4));
+ QCOMPARE(itemsMovedSpy.takeFirst().at(1).value<QList<int> >(), QList<int>() << 7 << 6 << 5 << 4);
// TODO: Sort by other roles; show/hide hidden files
}
void KFileItemModelTest::testIndexForKeyboardSearch()
{
- QStringList files;
- files << "a" << "aa" << "Image.jpg" << "Image.png" << "Text" << "Text1" << "Text2" << "Text11";
- m_testDir->createFiles(files);
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
+ m_testDir->createFiles({"a", "aa", "Image.jpg", "Image.png", "Text", "Text1", "Text2", "Text11"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
// Search from index 0
QCOMPARE(m_model->indexForKeyboardSearch("a", 0), 0);
@@ -983,12 +987,12 @@ void KFileItemModelTest::testIndexForKeyboardSearch()
void KFileItemModelTest::testNameFilter()
{
- QStringList files;
- files << "A1" << "A2" << "Abc" << "Bcd" << "Cde";
- m_testDir->createFiles(files);
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
+ m_testDir->createFiles({"A1", "A2", "Abc", "Bcd", "Cde"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
m_model->setNameFilter("A"); // Shows A1, A2 and Abc
QCOMPARE(m_model->count(), 3);
@@ -1040,28 +1044,27 @@ void KFileItemModelTest::testEmptyPath()
*/
void KFileItemModelTest::testRefreshExpandedItem()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsChangedSpy(m_model, &KFileItemModel::itemsChanged);
+
QSet<QByteArray> modelRoles = m_model->roles();
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "a/1" << "a/2" << "3" << "4";
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"a/1", "a/2", "3", "4"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 3); // "a/", "3", "4"
m_model->setExpanded(0, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 5); // "a/", "a/1", "a/2", "3", "4"
QVERIFY(m_model->isExpanded(0));
- QSignalSpy spyItemsChanged(m_model, SIGNAL(itemsChanged(KItemRangeList,QSet<QByteArray>)));
-
const KFileItem item = m_model->fileItem(0);
m_model->slotRefreshItems({qMakePair(item, item)});
- QVERIFY(!spyItemsChanged.isEmpty());
+ QVERIFY(!itemsChangedSpy.isEmpty());
QCOMPARE(m_model->count(), 5); // "a/", "a/1", "a/2", "3", "4"
QVERIFY(m_model->isExpanded(0));
@@ -1079,37 +1082,37 @@ void KFileItemModelTest::testRemoveHiddenItems()
m_testDir->createDir("d");
m_testDir->createFiles({".f", ".g", "h", "i"});
- QSignalSpy spyItemsInserted(m_model, SIGNAL(itemsInserted(KItemRangeList)));
- QSignalSpy spyItemsRemoved(m_model, SIGNAL(itemsRemoved(KItemRangeList)));
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved);
m_model->setShowHiddenFiles(true);
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << ".a" << ".b" << "c" << "d" <<".f" << ".g" << "h" << "i");
- QCOMPARE(spyItemsInserted.count(), 1);
- QCOMPARE(spyItemsRemoved.count(), 0);
- KItemRangeList itemRangeList = spyItemsInserted.takeFirst().at(0).value<KItemRangeList>();
+ QCOMPARE(itemsInsertedSpy.count(), 1);
+ QCOMPARE(itemsRemovedSpy.count(), 0);
+ KItemRangeList itemRangeList = itemsInsertedSpy.takeFirst().at(0).value<KItemRangeList>();
QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 8));
m_model->setShowHiddenFiles(false);
QCOMPARE(itemsInModel(), QStringList() << "c" << "d" << "h" << "i");
- QCOMPARE(spyItemsInserted.count(), 0);
- QCOMPARE(spyItemsRemoved.count(), 1);
- itemRangeList = spyItemsRemoved.takeFirst().at(0).value<KItemRangeList>();
+ QCOMPARE(itemsInsertedSpy.count(), 0);
+ QCOMPARE(itemsRemovedSpy.count(), 1);
+ itemRangeList = itemsRemovedSpy.takeFirst().at(0).value<KItemRangeList>();
QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 2) << KItemRange(4, 2));
m_model->setShowHiddenFiles(true);
QCOMPARE(itemsInModel(), QStringList() << ".a" << ".b" << "c" << "d" <<".f" << ".g" << "h" << "i");
- QCOMPARE(spyItemsInserted.count(), 1);
- QCOMPARE(spyItemsRemoved.count(), 0);
- itemRangeList = spyItemsInserted.takeFirst().at(0).value<KItemRangeList>();
+ QCOMPARE(itemsInsertedSpy.count(), 1);
+ QCOMPARE(itemsRemovedSpy.count(), 0);
+ itemRangeList = itemsInsertedSpy.takeFirst().at(0).value<KItemRangeList>();
QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 2) << KItemRange(2, 2));
m_model->clear();
QCOMPARE(itemsInModel(), QStringList());
- QCOMPARE(spyItemsInserted.count(), 0);
- QCOMPARE(spyItemsRemoved.count(), 1);
- itemRangeList = spyItemsRemoved.takeFirst().at(0).value<KItemRangeList>();
+ QCOMPARE(itemsInsertedSpy.count(), 0);
+ QCOMPARE(itemsRemovedSpy.count(), 1);
+ itemRangeList = itemsRemovedSpy.takeFirst().at(0).value<KItemRangeList>();
QCOMPARE(itemRangeList, KItemRangeList() << KItemRange(0, 8));
// Hiding hidden files makes the dir lister emit its itemsDeleted signal.
@@ -1122,42 +1125,43 @@ void KFileItemModelTest::testRemoveHiddenItems()
*/
void KFileItemModelTest::collapseParentOfHiddenItems()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved);
+
QSet<QByteArray> modelRoles = m_model->roles();
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "a/1" << "a/b/1" << "a/b/c/1" << "a/b/c/d/1";
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"a/1", "a/b/1", "a/b/c/1", "a/b/c/d/1"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 1); // Only "a/"
// Expand "a/".
m_model->setExpanded(0, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 3); // 3 items: "a/", "a/b/", "a/1"
// Expand "a/b/".
m_model->setExpanded(1, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 5); // 5 items: "a/", "a/b/", "a/b/c", "a/b/1", "a/1"
// Expand "a/b/c/".
m_model->setExpanded(2, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 7); // 7 items: "a/", "a/b/", "a/b/c", "a/b/c/d/", "a/b/c/1", "a/b/1", "a/1"
// Set a name filter that matches nothing -> only the expanded folders remain.
m_model->setNameFilter("xyz");
+ QCOMPARE(itemsRemovedSpy.count(), 1);
QCOMPARE(m_model->count(), 3);
QCOMPARE(itemsInModel(), QStringList() << "a" << "b" << "c");
// Collapse the folder "a/".
- QSignalSpy spyItemsRemoved(m_model, SIGNAL(itemsRemoved(KItemRangeList)));
m_model->setExpanded(0, false);
- QCOMPARE(spyItemsRemoved.count(), 1);
+ QCOMPARE(itemsRemovedSpy.count(), 2);
QCOMPARE(m_model->count(), 1);
QCOMPARE(itemsInModel(), QStringList() << "a");
@@ -1171,42 +1175,43 @@ void KFileItemModelTest::collapseParentOfHiddenItems()
*/
void KFileItemModelTest::removeParentOfHiddenItems()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved);
+
QSet<QByteArray> modelRoles = m_model->roles();
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "a/1" << "a/b/1" << "a/b/c/1" << "a/b/c/d/1";
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"a/1", "a/b/1", "a/b/c/1", "a/b/c/d/1"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 1); // Only "a/"
// Expand "a/".
m_model->setExpanded(0, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 3); // 3 items: "a/", "a/b/", "a/1"
// Expand "a/b/".
m_model->setExpanded(1, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 5); // 5 items: "a/", "a/b/", "a/b/c", "a/b/1", "a/1"
// Expand "a/b/c/".
m_model->setExpanded(2, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(m_model->count(), 7); // 7 items: "a/", "a/b/", "a/b/c", "a/b/c/d/", "a/b/c/1", "a/b/1", "a/1"
// Set a name filter that matches nothing -> only the expanded folders remain.
m_model->setNameFilter("xyz");
+ QCOMPARE(itemsRemovedSpy.count(), 1);
QCOMPARE(m_model->count(), 3);
QCOMPARE(itemsInModel(), QStringList() << "a" << "b" << "c");
// Simulate the deletion of the directory "a/b/".
- QSignalSpy spyItemsRemoved(m_model, SIGNAL(itemsRemoved(KItemRangeList)));
m_model->slotItemsDeleted(KFileItemList() << m_model->fileItem(1));
- QCOMPARE(spyItemsRemoved.count(), 1);
+ QCOMPARE(itemsRemovedSpy.count(), 2);
QCOMPARE(m_model->count(), 1);
QCOMPARE(itemsInModel(), QStringList() << "a");
@@ -1223,33 +1228,34 @@ void KFileItemModelTest::removeParentOfHiddenItems()
*/
void KFileItemModelTest::testGeneralParentChildRelationships()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved);
+
QSet<QByteArray> modelRoles = m_model->roles();
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "parent1/realChild1/realGrandChild1" << "parent2/realChild2/realGrandChild2";
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"parent1/realChild1/realGrandChild1", "parent2/realChild2/realGrandChild2"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "parent1" << "parent2");
// Expand all folders.
m_model->setExpanded(0, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "parent1" << "realChild1" << "parent2");
m_model->setExpanded(1, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "parent1" << "realChild1" << "realGrandChild1" << "parent2");
m_model->setExpanded(3, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "parent1" << "realChild1" << "realGrandChild1" << "parent2" << "realChild2");
m_model->setExpanded(4, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "parent1" << "realChild1" << "realGrandChild1" << "parent2" << "realChild2" << "realGrandChild2");
// Add some more children and grand-children.
@@ -1279,7 +1285,6 @@ void KFileItemModelTest::testGeneralParentChildRelationships()
QCOMPARE(itemsInModel(), QStringList() << "parent1" << "realChild1" << "grandChild1" << "realGrandChild1" << "child1" << "parent2" << "realChild2" << "grandChild2" << "realGrandChild2" << "child2");
// Set a name filter that matches nothing -> only expanded folders remain.
- QSignalSpy itemsRemovedSpy(m_model, SIGNAL(itemsRemoved(KItemRangeList)));
m_model->setNameFilter("xyz");
QCOMPARE(itemsInModel(), QStringList() << "parent1" << "realChild1" << "parent2" << "realChild2");
QCOMPARE(itemsRemovedSpy.count(), 1);
@@ -1310,14 +1315,15 @@ void KFileItemModelTest::testGeneralParentChildRelationships()
void KFileItemModelTest::testNameRoleGroups()
{
- QStringList files;
- files << "b.txt" << "c.txt" << "d.txt" << "e.txt";
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+ QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved);
+ QSignalSpy groupsChangedSpy(m_model, &KFileItemModel::groupsChanged);
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"b.txt", "c.txt", "d.txt", "e.txt"});
m_model->setGroupedSorting(true);
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "b.txt" << "c.txt" << "d.txt" << "e.txt");
QList<QPair<int, QVariant> > expectedGroups;
@@ -1331,7 +1337,7 @@ void KFileItemModelTest::testNameRoleGroups()
QHash<QByteArray, QVariant> data;
data.insert("text", "a.txt");
m_model->setData(2, data);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsMoved(KItemRange,QList<int>)), DefaultTimeout));
+ QVERIFY(itemsMovedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt" << "c.txt" << "e.txt");
expectedGroups.clear();
@@ -1344,7 +1350,7 @@ void KFileItemModelTest::testNameRoleGroups()
// Rename c.txt to d.txt.
data.insert("text", "d.txt");
m_model->setData(2, data);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(groupsChanged()), DefaultTimeout));
+ QVERIFY(groupsChangedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt" << "d.txt" << "e.txt");
expectedGroups.clear();
@@ -1362,7 +1368,7 @@ void KFileItemModelTest::testNameRoleGroups()
fileItemC.setUrl(urlC);
m_model->slotRefreshItems({qMakePair(fileItemD, fileItemC)});
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(groupsChanged()), DefaultTimeout));
+ QVERIFY(groupsChangedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt" << "c.txt" << "e.txt");
expectedGroups.clear();
@@ -1375,18 +1381,17 @@ void KFileItemModelTest::testNameRoleGroups()
void KFileItemModelTest::testNameRoleGroupsWithExpandedItems()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
QSet<QByteArray> modelRoles = m_model->roles();
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "a/b.txt" << "a/c.txt" << "d/e.txt" << "d/f.txt";
-
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"a/b.txt", "a/c.txt", "d/e.txt", "d/f.txt"});
m_model->setGroupedSorting(true);
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a" << "d");
QList<QPair<int, QVariant> > expectedGroups;
@@ -1401,41 +1406,40 @@ void KFileItemModelTest::testNameRoleGroupsWithExpandedItems()
m_model->setExpanded(0, true);
QVERIFY(m_model->isExpanded(0));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a" << "b.txt" << "c.txt" << "d");
QCOMPARE(m_model->groups(), expectedGroups);
m_model->setExpanded(3, true);
QVERIFY(m_model->isExpanded(3));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a" << "b.txt" << "c.txt" << "d" << "e.txt" << "f.txt");
QCOMPARE(m_model->groups(), expectedGroups);
}
void KFileItemModelTest::testInconsistentModel()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
QSet<QByteArray> modelRoles = m_model->roles();
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "a/b/c1.txt" << "a/b/c2.txt";
-
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"a/b/c1.txt", "a/b/c2.txt"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a");
// Expand "a/" and "a/b/".
m_model->setExpanded(0, true);
QVERIFY(m_model->isExpanded(0));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a" << "b");
m_model->setExpanded(1, true);
QVERIFY(m_model->isExpanded(1));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a" << "b" << "c1.txt" << "c2.txt");
// Add the files "c1.txt" and "c2.txt" to the model also as top-level items.
@@ -1471,16 +1475,16 @@ void KFileItemModelTest::testInconsistentModel()
void KFileItemModelTest::testChangeRolesForFilteredItems()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
QSet<QByteArray> modelRoles = m_model->roles();
modelRoles << "owner";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "a.txt" << "aa.txt" << "aaa.txt";
- m_testDir->createFiles(files);
+ m_testDir->createFiles({"a.txt", "aa.txt", "aaa.txt"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "aa.txt" << "aaa.txt");
for (int index = 0; index < m_model->count(); ++index) {
@@ -1568,12 +1572,12 @@ void KFileItemModelTest::testChangeSortRoleWhileFiltering()
void KFileItemModelTest::testRefreshFilteredItems()
{
- QStringList files;
- files << "a.txt" << "b.txt" << "c.jpg" << "d.jpg";
- m_testDir->createFiles(files);
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
+ m_testDir->createFiles({"a.txt", "b.txt", "c.jpg", "d.jpg"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt" << "c.jpg" << "d.jpg");
const KFileItem fileItemC = m_model->fileItem(2);
@@ -1585,7 +1589,7 @@ void KFileItemModelTest::testRefreshFilteredItems()
// Rename one of the .jpg files.
KFileItem fileItemE = fileItemC;
QUrl urlE = fileItemE.url().adjusted(QUrl::RemoveFilename);
- urlE.setPath(urlE.path() + "e.jpg");
+ urlE.setPath(urlE.path() + "/e.jpg");
fileItemE.setUrl(urlE);
m_model->slotRefreshItems({qMakePair(fileItemC, fileItemE)});
@@ -1597,21 +1601,21 @@ void KFileItemModelTest::testRefreshFilteredItems()
void KFileItemModelTest::testCreateMimeData()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
QSet<QByteArray> modelRoles = m_model->roles();
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "a/1";
- m_testDir->createFiles(files);
+ m_testDir->createFile("a/1");
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a");
// Expand "a/".
m_model->setExpanded(0, true);
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a" << "1");
// Verify that creating the MIME data for a child of an expanded folder does
@@ -1624,28 +1628,28 @@ void KFileItemModelTest::testCreateMimeData()
void KFileItemModelTest::testCollapseFolderWhileLoading()
{
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
QSet<QByteArray> modelRoles = m_model->roles();
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
m_model->setRoles(modelRoles);
- QStringList files;
- files << "a2/b/c1.txt";
- m_testDir->createFiles(files);
+ m_testDir->createFile("a2/b/c1.txt");
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a2");
// Expand "a2/".
m_model->setExpanded(0, true);
QVERIFY(m_model->isExpanded(0));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a2" << "b");
// Expand "a2/b/".
m_model->setExpanded(1, true);
QVERIFY(m_model->isExpanded(1));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a2" << "b" << "c1.txt");
// Simulate that a new item "c2.txt" appears, but that the dir lister's completed()
@@ -1677,7 +1681,7 @@ void KFileItemModelTest::testCollapseFolderWhileLoading()
// Expand "a2/" again.
m_model->setExpanded(0, true);
QVERIFY(m_model->isExpanded(0));
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a2" << "b");
// Now simulate that a new folder "a1/" is appears, but that the dir lister's
@@ -1702,12 +1706,12 @@ void KFileItemModelTest::testCollapseFolderWhileLoading()
void KFileItemModelTest::testDeleteFileMoreThanOnce()
{
- QStringList files;
- files << "a.txt" << "b.txt" << "c.txt" << "d.txt";
- m_testDir->createFiles(files);
+ QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted);
+
+ m_testDir->createFiles({"a.txt", "b.txt", "c.txt", "d.txt"});
m_model->loadDirectory(m_testDir->url());
- QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
+ QVERIFY(itemsInsertedSpy.wait());
QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt" << "c.txt" << "d.txt");
const KFileItem fileItemB = m_model->fileItem(1);
@@ -1730,6 +1734,6 @@ QStringList KFileItemModelTest::itemsInModel() const
return items;
}
-QTEST_KDEMAIN(KFileItemModelTest, NoGUI)
+QTEST_MAIN(KFileItemModelTest)
#include "kfileitemmodeltest.moc"
diff --git a/src/tests/kitemlistcontrollertest.cpp b/src/tests/kitemlistcontrollertest.cpp
index 42c0a8ed2..cd4d0a681 100644
--- a/src/tests/kitemlistcontrollertest.cpp
+++ b/src/tests/kitemlistcontrollertest.cpp
@@ -17,10 +17,6 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <qtest.h>
-#include <qtestmouse.h>
-#include <qtestkeyboard.h>
-
#include "kitemviews/kitemlistcontainer.h"
#include "kitemviews/kfileitemlistview.h"
#include "kitemviews/kfileitemmodel.h"
@@ -32,13 +28,10 @@
#include <KConfigGroup>
#include <KGlobalSettings>
+#include <QTest>
#include <QGraphicsSceneMouseEvent>
#include <QSignalSpy>
-namespace {
- const int DefaultTimeout = 2000;
-};
-
Q_DECLARE_METATYPE(KFileItemListView::ItemLayout);
Q_DECLARE_METATYPE(Qt::Orientation);
Q_DECLARE_METATYPE(KItemListController::SelectionBehavior);
@@ -104,7 +97,7 @@ void KItemListControllerTest::initTestCase()
m_testDir->createFiles(files);
m_model->loadDirectory(m_testDir->url());
QSignalSpy spyDirectoryLoadingCompleted(m_model, SIGNAL(directoryLoadingCompleted()));
- QVERIFY(spyDirectoryLoadingCompleted.wait(DefaultTimeout));
+ QVERIFY(spyDirectoryLoadingCompleted.wait());
m_container->show();
QTest::qWaitForWindowShown(m_container);
@@ -567,7 +560,7 @@ void KItemListControllerTest::testMouseClickActivation()
if (!KGlobalSettings::singleClick()) {
// TODO: Try to find a way to make sure that changing the global setting works.
- QSKIP("Failed to change the KGlobalSettings::singleClick() setting!", SkipSingle);
+ QSKIP("Failed to change the KGlobalSettings::singleClick() setting!");
}
m_view->event(&mousePressEvent);
@@ -588,7 +581,7 @@ void KItemListControllerTest::testMouseClickActivation()
if (KGlobalSettings::singleClick()) {
// TODO: Try to find a way to make sure that changing the global setting works.
- QSKIP("Failed to change the KGlobalSettings::singleClick() setting!", SkipSingle);
+ QSKIP("Failed to change the KGlobalSettings::singleClick() setting!");
}
m_view->event(&mousePressEvent);
@@ -623,7 +616,7 @@ void KItemListControllerTest::testMouseClickActivation()
if (!KGlobalSettings::singleClick()) {
// TODO: Try to find a way to make sure that changing the global setting works.
- QSKIP("Failed to change the KGlobalSettings::singleClick() setting!", SkipSingle);
+ QSKIP("Failed to change the KGlobalSettings::singleClick() setting!");
}
m_view->event(&mousePressEvent);
@@ -652,7 +645,7 @@ void KItemListControllerTest::testMouseClickActivation()
if (KGlobalSettings::singleClick() != restoreKGlobalSettingsSingleClick) {
// TODO: Try to find a way to make sure that changing the global setting works.
- QSKIP("Failed to change the KGlobalSettings::singleClick() setting!", SkipSingle);
+ QSKIP("Failed to change the KGlobalSettings::singleClick() setting!");
}
}
diff --git a/src/tests/kitemlistkeyboardsearchmanagertest.cpp b/src/tests/kitemlistkeyboardsearchmanagertest.cpp
index 373f4f301..41475660d 100644
--- a/src/tests/kitemlistkeyboardsearchmanagertest.cpp
+++ b/src/tests/kitemlistkeyboardsearchmanagertest.cpp
@@ -17,10 +17,11 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <qtest.h>
-#include <QSignalSpy>
#include "kitemviews/private/kitemlistkeyboardsearchmanager.h"
+#include <QTest>
+#include <QSignalSpy>
+
class KItemListKeyboardSearchManagerTest : public QObject
{
Q_OBJECT
@@ -45,7 +46,7 @@ void KItemListKeyboardSearchManagerTest::init()
void KItemListKeyboardSearchManagerTest::testBasicKeyboardSearch()
{
- QSignalSpy spy(&m_keyboardSearchManager, SIGNAL(changeCurrentItem(QString,bool)));
+ QSignalSpy spy(&m_keyboardSearchManager, &KItemListKeyboardSearchManager::changeCurrentItem);
m_keyboardSearchManager.addKeys("f");
QCOMPARE(spy.count(), 1);
@@ -70,7 +71,7 @@ void KItemListKeyboardSearchManagerTest::testAbortedKeyboardSearch()
// to save time when running this test.
m_keyboardSearchManager.setTimeout(100);
- QSignalSpy spy(&m_keyboardSearchManager, SIGNAL(changeCurrentItem(QString,bool)));
+ QSignalSpy spy(&m_keyboardSearchManager, &KItemListKeyboardSearchManager::changeCurrentItem);
m_keyboardSearchManager.addKeys("f");
QCOMPARE(spy.count(), 1);
@@ -101,7 +102,7 @@ void KItemListKeyboardSearchManagerTest::testRepeatedKeyPress()
// 1. the string contains the repeated key only once, and
// 2. the bool searchFromNextItem is true.
- QSignalSpy spy(&m_keyboardSearchManager, SIGNAL(changeCurrentItem(QString,bool)));
+ QSignalSpy spy(&m_keyboardSearchManager, &KItemListKeyboardSearchManager::changeCurrentItem);
m_keyboardSearchManager.addKeys("p");
QCOMPARE(spy.count(), 1);
@@ -128,7 +129,7 @@ void KItemListKeyboardSearchManagerTest::testPressShift()
// string. Make sure that this does not reset the current search. See
// https://bugs.kde.org/show_bug.cgi?id=321286
- QSignalSpy spy(&m_keyboardSearchManager, SIGNAL(changeCurrentItem(QString,bool)));
+ QSignalSpy spy(&m_keyboardSearchManager, &KItemListKeyboardSearchManager::changeCurrentItem);
// Simulate that the user enters "a_b".
m_keyboardSearchManager.addKeys("a");
diff --git a/src/tests/kitemlistselectionmanagertest.cpp b/src/tests/kitemlistselectionmanagertest.cpp
index fb0f4fc2b..8403de701 100644
--- a/src/tests/kitemlistselectionmanagertest.cpp
+++ b/src/tests/kitemlistselectionmanagertest.cpp
@@ -18,11 +18,12 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <qtest.h>
-#include <QSignalSpy>
#include "kitemviews/kitemmodelbase.h"
#include "kitemviews/kitemlistselectionmanager.h"
+#include <QTest>
+#include <QSignalSpy>
+
class DummyModel : public KItemModelBase
{
public:
diff --git a/src/tests/kitemrangetest.cpp b/src/tests/kitemrangetest.cpp
index 011f5ae86..882cd66e7 100644
--- a/src/tests/kitemrangetest.cpp
+++ b/src/tests/kitemrangetest.cpp
@@ -17,10 +17,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <qtest.h>
-
#include "kitemviews/kitemrange.h"
+#include <QTest>
#include <QVector>
Q_DECLARE_METATYPE(QVector<int>);
diff --git a/src/tests/kitemsettest.cpp b/src/tests/kitemsettest.cpp
index 9cc02d060..ed683e1a8 100644
--- a/src/tests/kitemsettest.cpp
+++ b/src/tests/kitemsettest.cpp
@@ -17,10 +17,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <qtest.h>
-
#include "kitemviews/kitemset.h"
+#include <QTest>
#include <QVector>
Q_DECLARE_METATYPE(KItemRangeList);
diff --git a/src/tests/kstandarditemmodeltest.cpp b/src/tests/kstandarditemmodeltest.cpp
index f7e61ce90..e83e2031d 100644
--- a/src/tests/kstandarditemmodeltest.cpp
+++ b/src/tests/kstandarditemmodeltest.cpp
@@ -18,11 +18,11 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <qtest.h>
-
#include "kitemviews/kstandarditem.h"
#include "kitemviews/kstandarditemmodel.h"
+#include <QTest>
+
class KStandardItemModelTest : public QObject
{
Q_OBJECT
diff --git a/src/tests/testdir.cpp b/src/tests/testdir.cpp
index dcc4c87a5..b84b344b7 100644
--- a/src/tests/testdir.cpp
+++ b/src/tests/testdir.cpp
@@ -28,7 +28,7 @@
#endif
TestDir::TestDir(const QString& directoryPrefix) :
- KTempDir(directoryPrefix)
+ QTemporaryDir(directoryPrefix)
{
}
@@ -38,7 +38,7 @@ TestDir::~TestDir()
QUrl TestDir::url() const
{
- return QUrl::fromLocalFile(name());
+ return QUrl::fromLocalFile(path());
}
/** The following function is taken from kdelibs/kio/tests/kiotesthelper.h, copyright (C) 2006 by David Faure */
@@ -85,7 +85,7 @@ void TestDir::createDir(const QString& path, const QDateTime& time)
{
QString absolutePath = path;
makePathAbsoluteAndCreateParents(absolutePath);
- QDir(name()).mkdir(absolutePath);
+ QDir(TestDir::path()).mkdir(absolutePath);
if (time.isValid()) {
setTimeStamp(absolutePath, time);
@@ -94,12 +94,19 @@ void TestDir::createDir(const QString& path, const QDateTime& time)
Q_ASSERT(QFile::exists(absolutePath));
}
+void TestDir::removeFiles(const QStringList& files)
+{
+ foreach (const QString& path, files) {
+ removeFile(path);
+ }
+}
+
void TestDir::removeFile(const QString& path)
{
QString absolutePath = path;
QFileInfo fileInfo(absolutePath);
if (!fileInfo.isAbsolute()) {
- absolutePath = name() + path;
+ absolutePath = TestDir::path() + QLatin1Char('/') + path;
}
QFile::remove(absolutePath);
}
@@ -108,7 +115,7 @@ void TestDir::makePathAbsoluteAndCreateParents(QString& path)
{
QFileInfo fileInfo(path);
if (!fileInfo.isAbsolute()) {
- path = name() + path;
+ path = TestDir::path() + QLatin1Char('/') + path;
fileInfo.setFile(path);
}
diff --git a/src/tests/testdir.h b/src/tests/testdir.h
index 24c4d77b0..3f244448c 100644
--- a/src/tests/testdir.h
+++ b/src/tests/testdir.h
@@ -20,16 +20,15 @@
#ifndef TESTDIR_H
#define TESTDIR_H
-#include <KTempDir>
#include <QUrl>
-
+#include <QTemporaryDir>
#include <QDateTime>
/**
- * TestDir provides a temporary directory. In addition to KTempDir, it has
+ * TestDir provides a temporary directory. In addition to QTemporaryDir, it has
* methods that create files and subdirectories inside the directory.
*/
-class TestDir : public KTempDir
+class TestDir : public QTemporaryDir
{
public:
@@ -50,6 +49,7 @@ public:
void createDir(const QString& path, const QDateTime& time = QDateTime());
void removeFile(const QString& path);
+ void removeFiles(const QStringList& files);
private:
void makePathAbsoluteAndCreateParents(QString& path);
diff --git a/src/tests/viewpropertiestest.cpp b/src/tests/viewpropertiestest.cpp
index d5584ce82..ba2ca307c 100644
--- a/src/tests/viewpropertiestest.cpp
+++ b/src/tests/viewpropertiestest.cpp
@@ -17,12 +17,11 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <qtest.h>
-
#include "dolphin_generalsettings.h"
#include "views/viewproperties.h"
#include "testdir.h"
+#include <QTest>
#include <QDir>
class ViewPropertiesTest : public QObject
@@ -68,29 +67,27 @@ void ViewPropertiesTest::cleanup()
*/
void ViewPropertiesTest::testReadOnlyBehavior()
{
- QString dotDirectoryFile = m_testDir->url().toLocalFile() + ".directory";
+ QString dotDirectoryFile = m_testDir->url().toLocalFile() + "/.directory";
QVERIFY(!QFile::exists(dotDirectoryFile));
- ViewProperties* props = new ViewProperties(m_testDir->url());
+ QScopedPointer<ViewProperties> props(new ViewProperties(m_testDir->url()));
QVERIFY(props->isAutoSaveEnabled());
const QByteArray sortRole = props->sortRole();
Q_UNUSED(sortRole);
- delete props;
- props = 0;
+ props.reset();
QVERIFY(!QFile::exists(dotDirectoryFile));
}
void ViewPropertiesTest::testAutoSave()
{
- QString dotDirectoryFile = m_testDir->url().toLocalFile() + ".directory";
+ QString dotDirectoryFile = m_testDir->url().toLocalFile() + "/.directory";
QVERIFY(!QFile::exists(dotDirectoryFile));
- ViewProperties* props = new ViewProperties(m_testDir->url());
+ QScopedPointer<ViewProperties> props(new ViewProperties(m_testDir->url()));
QVERIFY(props->isAutoSaveEnabled());
props->setSortRole("someNewSortRole");
- delete props;
- props = 0;
+ props.reset();
QVERIFY(QFile::exists(dotDirectoryFile));
}