X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d19d94e60a778d4c19f646224e3b269da515c8fb..2e6450da1cc62c0c8ad6f868becf0fa4a1f32022:/src/tests/kfileitemmodeltest.cpp diff --git a/src/tests/kfileitemmodeltest.cpp b/src/tests/kfileitemmodeltest.cpp index 74b2342c8..471818d98 100644 --- a/src/tests/kfileitemmodeltest.cpp +++ b/src/tests/kfileitemmodeltest.cpp @@ -29,18 +29,20 @@ #include "kitemviews/private/kfileitemmodeldirlister.h" #include "testdir.h" -void myMessageOutput(QtMsgType type, const char* msg) +void myMessageOutput(QtMsgType type, const QMessageLogContext& context, const QString& msg) { + Q_UNUSED(context); + switch (type) { case QtDebugMsg: break; case QtWarningMsg: break; case QtCriticalMsg: - fprintf(stderr, "Critical: %s\n", msg); + fprintf(stderr, "Critical: %s\n", msg.toLocal8Bit().data()); break; case QtFatalMsg: - fprintf(stderr, "Fatal: %s\n", msg); + fprintf(stderr, "Fatal: %s\n", msg.toLocal8Bit().data()); abort(); default: break; @@ -107,7 +109,7 @@ void KFileItemModelTest::init() { // The item-model tests result in a huge number of debugging // output from kdelibs. Only show critical and fatal messages. - qInstallMsgHandler(myMessageOutput); + qInstallMessageHandler(myMessageOutput); qRegisterMetaType("KItemRange"); qRegisterMetaType("KItemRangeList"); @@ -124,24 +126,26 @@ void KFileItemModelTest::init() void KFileItemModelTest::cleanup() { delete m_model; - m_model = 0; + m_model = nullptr; delete m_testDir; - m_testDir = 0; + m_testDir = nullptr; } void KFileItemModelTest::testDefaultRoles() { const QSet roles = m_model->roles(); - QCOMPARE(roles.count(), 3); + QCOMPARE(roles.count(), 4); QVERIFY(roles.contains("text")); QVERIFY(roles.contains("isDir")); QVERIFY(roles.contains("isLink")); + QVERIFY(roles.contains("isHidden")); } void KFileItemModelTest::testDefaultSortRole() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QVERIFY(itemsInsertedSpy.isValid()); QCOMPARE(m_model->sortRole(), QByteArray("text")); @@ -151,9 +155,9 @@ void KFileItemModelTest::testDefaultSortRole() QVERIFY(itemsInsertedSpy.wait()); QCOMPARE(m_model->count(), 3); - QCOMPARE(m_model->data(0)["text"].toString(), QString("a.txt")); - QCOMPARE(m_model->data(1)["text"].toString(), QString("b.txt")); - QCOMPARE(m_model->data(2)["text"].toString(), QString("c.txt")); + QCOMPARE(m_model->data(0).value("text").toString(), QString("a.txt")); + QCOMPARE(m_model->data(1).value("text").toString(), QString("b.txt")); + QCOMPARE(m_model->data(2).value("text").toString(), QString("c.txt")); } void KFileItemModelTest::testDefaultGroupedSorting() @@ -163,7 +167,7 @@ void KFileItemModelTest::testDefaultGroupedSorting() void KFileItemModelTest::testNewItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); m_testDir->createFiles({"a.txt", "b.txt", "c.txt"}); @@ -177,8 +181,8 @@ void KFileItemModelTest::testNewItems() void KFileItemModelTest::testRemoveItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsRemovedSpy(m_model, SIGNAL(itemsRemoved(KItemRangeList))); m_testDir->createFiles({"a.txt", "b.txt"}); m_model->loadDirectory(m_testDir->url()); @@ -195,9 +199,9 @@ void KFileItemModelTest::testRemoveItems() void KFileItemModelTest::testDirLoadingCompleted() { - QSignalSpy loadingCompletedSpy(m_model, &KFileItemModel::directoryLoadingCompleted); - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved); + QSignalSpy loadingCompletedSpy(m_model, SIGNAL(directoryLoadingCompleted())); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsRemovedSpy(m_model, SIGNAL(itemsRemoved(KItemRangeList))); m_testDir->createFiles({"a.txt", "b.txt", "c.txt"}); @@ -238,8 +242,10 @@ void KFileItemModelTest::testDirLoadingCompleted() void KFileItemModelTest::testSetData() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsChangedSpy(m_model, &KFileItemModel::itemsChanged); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QVERIFY(itemsInsertedSpy.isValid()); + QSignalSpy itemsChangedSpy(m_model, SIGNAL(itemsChanged(KItemRangeList, QSet))); + QVERIFY(itemsChangedSpy.isValid()); m_testDir->createFile("a.txt"); @@ -291,8 +297,10 @@ void KFileItemModelTest::testSetDataWithModifiedSortRole() QFETCH(int, ratingIndex1); QFETCH(int, ratingIndex2); - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QVERIFY(itemsInsertedSpy.isValid()); + QSignalSpy itemsMovedSpy(m_model, SIGNAL(itemsMoved(KItemRange,QList))); + QVERIFY(itemsMovedSpy.isValid()); // Changing the value of a sort-role must result in // a reordering of the items. @@ -344,8 +352,9 @@ void KFileItemModelTest::testSetDataWithModifiedSortRole() void KFileItemModelTest::testChangeSortRole() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsMovedSpy(m_model, SIGNAL(itemsMoved(KItemRange,QList))); + QVERIFY(itemsMovedSpy.isValid()); QCOMPARE(m_model->sortRole(), QByteArray("text")); @@ -383,8 +392,9 @@ void KFileItemModelTest::testChangeSortRole() void KFileItemModelTest::testResortAfterChangingName() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsMovedSpy(m_model, SIGNAL(itemsMoved(KItemRange,QList))); + QVERIFY(itemsMovedSpy.isValid()); // We sort by size in a directory where all files have the same size. // Therefore, the files are sorted by their names. @@ -420,7 +430,7 @@ void KFileItemModelTest::testResortAfterChangingName() void KFileItemModelTest::testModelConsistencyWhenInsertingItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); // KFileItemModel prevents that inserting a punch of items sequentially // results in an itemsInserted()-signal for each item. Instead internally @@ -462,7 +472,7 @@ void KFileItemModelTest::testModelConsistencyWhenInsertingItems() void KFileItemModelTest::testItemRangeConsistencyWhenInsertingItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); m_testDir->createFiles({"B", "E", "G"}); @@ -501,9 +511,12 @@ void KFileItemModelTest::testItemRangeConsistencyWhenInsertingItems() void KFileItemModelTest::testExpandItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved); - QSignalSpy loadingCompletedSpy(m_model, &KFileItemModel::directoryLoadingCompleted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QVERIFY(itemsInsertedSpy.isValid()); + QSignalSpy itemsRemovedSpy(m_model, SIGNAL(itemsRemoved(KItemRangeList))); + QVERIFY(itemsRemovedSpy.isValid()); + QSignalSpy loadingCompletedSpy(m_model, SIGNAL(directoryLoadingCompleted())); + QVERIFY(loadingCompletedSpy.isValid()); // 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 @@ -635,8 +648,9 @@ void KFileItemModelTest::testExpandItems() void KFileItemModelTest::testExpandParentItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy loadingCompletedSpy(m_model, &KFileItemModel::directoryLoadingCompleted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy loadingCompletedSpy(m_model, SIGNAL(directoryLoadingCompleted())); + QVERIFY(loadingCompletedSpy.isValid()); // Create a tree structure of folders: // a 1/ @@ -715,8 +729,8 @@ void KFileItemModelTest::testExpandParentItems() */ void KFileItemModelTest::testMakeExpandedItemHidden() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsRemovedSpy(m_model, SIGNAL(itemsRemoved(KItemRangeList))); QSet modelRoles = m_model->roles(); modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount"; @@ -758,7 +772,7 @@ void KFileItemModelTest::testMakeExpandedItemHidden() void KFileItemModelTest::testRemoveFilteredExpandedItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); QSet originalModelRoles = m_model->roles(); QSet modelRoles = originalModelRoles; @@ -803,8 +817,9 @@ void KFileItemModelTest::testRemoveFilteredExpandedItems() void KFileItemModelTest::testSorting() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsMovedSpy(m_model, SIGNAL(itemsMoved(KItemRange,QList))); + QVERIFY(itemsMovedSpy.isValid()); // Create some files with different sizes and modification times to check the different sorting options QDateTime now = QDateTime::currentDateTime(); @@ -868,8 +883,8 @@ void KFileItemModelTest::testSorting() // Sort by Date, descending m_model->setSortDirectoriesFirst(true); - m_model->setSortRole("date"); - QCOMPARE(m_model->sortRole(), QByteArray("date")); + m_model->setSortRole("modificationtime"); + QCOMPARE(m_model->sortRole(), QByteArray("modificationtime")); QCOMPARE(m_model->sortOrder(), Qt::DescendingOrder); QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "b" << "d" << "a" << "e"); QCOMPARE(itemsMovedSpy.count(), 1); @@ -878,7 +893,7 @@ void KFileItemModelTest::testSorting() // Sort by Date, ascending m_model->setSortOrder(Qt::AscendingOrder); - QCOMPARE(m_model->sortRole(), QByteArray("date")); + QCOMPARE(m_model->sortRole(), QByteArray("modificationtime")); QCOMPARE(m_model->sortOrder(), Qt::AscendingOrder); QCOMPARE(itemsInModel(), QStringList() << "c" << "c-2" << "c-3" << "c-1" << "e" << "a" << "d" << "b"); QCOMPARE(itemsMovedSpy.count(), 1); @@ -887,7 +902,7 @@ void KFileItemModelTest::testSorting() // Sort by Date, ascending, 'Sort Folders First' disabled m_model->setSortDirectoriesFirst(false); - QCOMPARE(m_model->sortRole(), QByteArray("date")); + QCOMPARE(m_model->sortRole(), QByteArray("modificationtime")); QCOMPARE(m_model->sortOrder(), Qt::AscendingOrder); QVERIFY(!m_model->sortDirectoriesFirst()); QCOMPARE(itemsInModel(), QStringList() << "e" << "a" << "c" << "c-1" << "c-2" << "c-3" << "d" << "b"); @@ -937,7 +952,7 @@ void KFileItemModelTest::testSorting() void KFileItemModelTest::testIndexForKeyboardSearch() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); m_testDir->createFiles({"a", "aa", "Image.jpg", "Image.png", "Text", "Text1", "Text2", "Text11"}); @@ -987,7 +1002,7 @@ void KFileItemModelTest::testIndexForKeyboardSearch() void KFileItemModelTest::testNameFilter() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); m_testDir->createFiles({"A1", "A2", "Abc", "Bcd", "Cde"}); @@ -1044,8 +1059,9 @@ void KFileItemModelTest::testEmptyPath() */ void KFileItemModelTest::testRefreshExpandedItem() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsChangedSpy(m_model, &KFileItemModel::itemsChanged); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsChangedSpy(m_model, SIGNAL(itemsChanged(KItemRangeList, QSet))); + QVERIFY(itemsChangedSpy.isValid()); QSet modelRoles = m_model->roles(); modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount"; @@ -1082,8 +1098,8 @@ void KFileItemModelTest::testRemoveHiddenItems() m_testDir->createDir("d"); m_testDir->createFiles({".f", ".g", "h", "i"}); - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsRemovedSpy(m_model, SIGNAL(itemsRemoved(KItemRangeList))); m_model->setShowHiddenFiles(true); m_model->loadDirectory(m_testDir->url()); @@ -1125,8 +1141,8 @@ void KFileItemModelTest::testRemoveHiddenItems() */ void KFileItemModelTest::collapseParentOfHiddenItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsRemovedSpy(m_model, SIGNAL(itemsRemoved(KItemRangeList))); QSet modelRoles = m_model->roles(); modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount"; @@ -1175,8 +1191,8 @@ void KFileItemModelTest::collapseParentOfHiddenItems() */ void KFileItemModelTest::removeParentOfHiddenItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsRemovedSpy(m_model, SIGNAL(itemsRemoved(KItemRangeList))); QSet modelRoles = m_model->roles(); modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount"; @@ -1228,8 +1244,8 @@ void KFileItemModelTest::removeParentOfHiddenItems() */ void KFileItemModelTest::testGeneralParentChildRelationships() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsRemovedSpy(m_model, &KFileItemModel::itemsRemoved); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsRemovedSpy(m_model, SIGNAL(itemsRemoved(KItemRangeList))); QSet modelRoles = m_model->roles(); modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount"; @@ -1315,9 +1331,11 @@ void KFileItemModelTest::testGeneralParentChildRelationships() void KFileItemModelTest::testNameRoleGroups() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); - QSignalSpy itemsMovedSpy(m_model, &KFileItemModel::itemsMoved); - QSignalSpy groupsChangedSpy(m_model, &KFileItemModel::groupsChanged); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); + QSignalSpy itemsMovedSpy(m_model, SIGNAL(itemsMoved(KItemRange,QList))); + QVERIFY(itemsMovedSpy.isValid()); + QSignalSpy groupsChangedSpy(m_model, SIGNAL(groupsChanged())); + QVERIFY(groupsChangedSpy.isValid()); m_testDir->createFiles({"b.txt", "c.txt", "d.txt", "e.txt"}); @@ -1381,7 +1399,7 @@ void KFileItemModelTest::testNameRoleGroups() void KFileItemModelTest::testNameRoleGroupsWithExpandedItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); QSet modelRoles = m_model->roles(); modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount"; @@ -1419,7 +1437,7 @@ void KFileItemModelTest::testNameRoleGroupsWithExpandedItems() void KFileItemModelTest::testInconsistentModel() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); QSet modelRoles = m_model->roles(); modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount"; @@ -1475,7 +1493,7 @@ void KFileItemModelTest::testInconsistentModel() void KFileItemModelTest::testChangeRolesForFilteredItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); QSet modelRoles = m_model->roles(); modelRoles << "owner"; @@ -1572,7 +1590,7 @@ void KFileItemModelTest::testChangeSortRoleWhileFiltering() void KFileItemModelTest::testRefreshFilteredItems() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); m_testDir->createFiles({"a.txt", "b.txt", "c.jpg", "d.jpg"}); @@ -1601,7 +1619,7 @@ void KFileItemModelTest::testRefreshFilteredItems() void KFileItemModelTest::testCreateMimeData() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); QSet modelRoles = m_model->roles(); modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount"; @@ -1628,7 +1646,7 @@ void KFileItemModelTest::testCreateMimeData() void KFileItemModelTest::testCollapseFolderWhileLoading() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); QSet modelRoles = m_model->roles(); modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount"; @@ -1657,7 +1675,7 @@ void KFileItemModelTest::testCollapseFolderWhileLoading() const KFileItem fileItemC1 = m_model->fileItem(2); KFileItem fileItemC2 = fileItemC1; QUrl urlC2 = fileItemC2.url(); - urlC2.adjusted(QUrl::RemoveFilename); + urlC2 = urlC2.adjusted(QUrl::RemoveFilename); urlC2.setPath(urlC2.path() + "c2.txt"); fileItemC2.setUrl(urlC2); @@ -1706,7 +1724,7 @@ void KFileItemModelTest::testCollapseFolderWhileLoading() void KFileItemModelTest::testDeleteFileMoreThanOnce() { - QSignalSpy itemsInsertedSpy(m_model, &KFileItemModel::itemsInserted); + QSignalSpy itemsInsertedSpy(m_model, SIGNAL(itemsInserted(KItemRangeList))); m_testDir->createFiles({"a.txt", "b.txt", "c.txt", "d.txt"});