X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/3512293b9840dd00c204d9b72ddd28ad26fff9ff..9e8e58147:/src/tests/placesitemmodeltest.cpp diff --git a/src/tests/placesitemmodeltest.cpp b/src/tests/placesitemmodeltest.cpp index ef8d265f9..15a494691 100644 --- a/src/tests/placesitemmodeltest.cpp +++ b/src/tests/placesitemmodeltest.cpp @@ -1,21 +1,8 @@ -/*************************************************************************** - * Copyright (C) 2017 by Renato Araujo Oliveira * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2017 Renato Araujo Oliveira + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #include #include @@ -47,7 +34,7 @@ class PlacesItemModelTest : public QObject { Q_OBJECT -private slots: +private Q_SLOTS: void init(); void cleanup(); @@ -80,10 +67,13 @@ private: PlacesItemModel* m_model; QSet m_tobeRemoved; QMap m_interfacesMap; - int m_expectedModelCount = qEnvironmentVariableIsSet("KDE_FULL_SESSION") && KProtocolInfo::isKnownProtocol(QStringLiteral("recentlyused")) ? 16 : 14; + int m_expectedModelCount = 14; bool m_hasDesktopFolder = false; bool m_hasDocumentsFolder = false; bool m_hasDownloadsFolder = false; + bool m_hasMusicFolder = false; + bool m_hasPicturesFolder = false; + bool m_hasVideosFolder = false; void setBalooEnabled(bool enabled); int indexOf(const QUrl &url); @@ -95,6 +85,7 @@ private: void schedulePlaceRemoval(int index); void cancelPlaceRemoval(int index); QMimeData *createMimeData(const QList &indexes) const; + void increaseIndexIfNeeded(int &index) const; QTemporaryDir m_tempHomeDir; }; @@ -174,6 +165,18 @@ QStringList PlacesItemModelTest::initialUrls() const urls << QDir::homePath() + QStringLiteral("/Downloads"); } + if (m_hasMusicFolder) { + urls << QDir::homePath() + QStringLiteral("/Music"); + } + + if (m_hasPicturesFolder) { + urls << QDir::homePath() + QStringLiteral("/Pictures"); + } + + if (m_hasVideosFolder) { + urls << QDir::homePath() + QStringLiteral("/Videos"); + } + urls << QStringLiteral("trash:/") << QStringLiteral("remote:/") << QStringLiteral("/media/nfs"); @@ -181,10 +184,12 @@ QStringList PlacesItemModelTest::initialUrls() const if (qEnvironmentVariableIsSet("KDE_FULL_SESSION") && KProtocolInfo::isKnownProtocol(QStringLiteral("recentlyused"))) { urls << QStringLiteral("recentlyused:/files"); urls << QStringLiteral("recentlyused:/locations"); + } else { + urls << QStringLiteral("timeline:/today") + << QStringLiteral("timeline:/yesterday"); } - urls << QStringLiteral("timeline:/today") << QStringLiteral("timeline:/yesterday") - << QStringLiteral("search:/documents") << QStringLiteral("search:/images") << QStringLiteral("search:/audio") << QStringLiteral("search:/videos") + urls << QStringLiteral("search:/documents") << QStringLiteral("search:/images") << QStringLiteral("search:/audio") << QStringLiteral("search:/videos") << QStringLiteral("/foreign") << QStringLiteral("/media/floppy0") << QStringLiteral("/media/XO-Y4") << QStringLiteral("/media/cdrom"); } @@ -229,6 +234,28 @@ QMimeData *PlacesItemModelTest::createMimeData(const QList &indexes) const return mimeData; } +void PlacesItemModelTest::increaseIndexIfNeeded(int &index) const +{ + if (m_hasDesktopFolder) { + index++; + } + if (m_hasDocumentsFolder) { + index++; + } + if (m_hasDownloadsFolder) { + index++; + } + if (m_hasMusicFolder) { + index++; + } + if (m_hasPicturesFolder) { + index++; + } + if (m_hasVideosFolder) { + index++; + } +} + void PlacesItemModelTest::init() { m_model = new PlacesItemModel(); @@ -284,6 +311,21 @@ void PlacesItemModelTest::initTestCase() m_expectedModelCount++; } + if (QDir(QStandardPaths::writableLocation(QStandardPaths::MusicLocation)).exists()) { + m_hasMusicFolder = true; + m_expectedModelCount++; + } + + if (QDir(QStandardPaths::writableLocation(QStandardPaths::PicturesLocation)).exists()) { + m_hasPicturesFolder = true; + m_expectedModelCount++; + } + + if (QDir(QStandardPaths::writableLocation(QStandardPaths::MoviesLocation)).exists()) { + m_hasVideosFolder = true; + m_expectedModelCount++; + } + qRegisterMetaType(); qRegisterMetaType(); } @@ -303,15 +345,7 @@ void PlacesItemModelTest::testGroups() { const auto groups = m_model->groups(); int expectedRemoteIndex = 2; - if (m_hasDesktopFolder) { - expectedRemoteIndex++; - } - if (m_hasDocumentsFolder) { - expectedRemoteIndex++; - } - if (m_hasDownloadsFolder) { - expectedRemoteIndex++; - } + increaseIndexIfNeeded(expectedRemoteIndex); QCOMPARE(groups.size(), 6); @@ -324,10 +358,6 @@ void PlacesItemModelTest::testGroups() QCOMPARE(groups.at(2).first, expectedRemoteIndex + 2); QCOMPARE(groups.at(2).second.toString(), QStringLiteral("Recent")); - if (qEnvironmentVariableIsSet("KDE_FULL_SESSION") && KProtocolInfo::isKnownProtocol(QStringLiteral("recentlyused"))) { - expectedRemoteIndex += 2; - } - QCOMPARE(groups.at(3).first, expectedRemoteIndex + 4); QCOMPARE(groups.at(3).second.toString(), QStringLiteral("Search For")); @@ -352,9 +382,6 @@ void PlacesItemModelTest::testPlaceItem_data() // baloo -search QTest::newRow("Baloo - Documents") << QUrl("search:/documents") << false << true << QStringLiteral("Search For") << false; - // baloo - timeline - QTest::newRow("Baloo - Today") << QUrl("timeline:/today") << false << true << QStringLiteral("Recent") << false; - // devices QTest::newRow("Devices - Floppy") << QUrl("file:///media/floppy0") << false << false << QStringLiteral("Removable Devices") << false; } @@ -386,15 +413,7 @@ void PlacesItemModelTest::testDeletePlace() PlacesItemModel *model = new PlacesItemModel(); int tempDirIndex = 2; - if (m_hasDesktopFolder) { - tempDirIndex++; - } - if (m_hasDocumentsFolder) { - tempDirIndex++; - } - if (m_hasDownloadsFolder) { - tempDirIndex++; - } + increaseIndexIfNeeded(tempDirIndex); // create a new place createPlaceItem(QStringLiteral("Temporary Dir"), tempUrl, QString()); @@ -470,9 +489,6 @@ void PlacesItemModelTest::testDefaultViewProperties_data() // audio files QTest::newRow("Places - Audio") << QUrl("search:/audio") << DolphinView::DetailsView << false << QList({"text", "artist", "album"}); - // baloo - timeline - QTest::newRow("Baloo - Today") << QUrl("timeline:/today") << DolphinView::DetailsView << true << QList({"text", "modificationtime"}); - // devices QTest::newRow("Devices - Floppy") << QUrl("file:///media/floppy0") << DolphinView::IconsView << true << QList({"text"}); @@ -562,15 +578,7 @@ void PlacesItemModelTest::testHideItem() void PlacesItemModelTest::testSystemItems() { int tempDirIndex = 2; - if (m_hasDesktopFolder) { - tempDirIndex++; - } - if (m_hasDocumentsFolder) { - tempDirIndex++; - } - if (m_hasDownloadsFolder) { - tempDirIndex++; - } + increaseIndexIfNeeded(tempDirIndex); QCOMPARE(m_model->count(), m_expectedModelCount); for (int r = 0; r < m_model->count(); r++) { @@ -613,15 +621,7 @@ void PlacesItemModelTest::testSystemItems() void PlacesItemModelTest::testEditBookmark() { int tempDirIndex = 2; - if (m_hasDesktopFolder) { - tempDirIndex++; - } - if (m_hasDocumentsFolder) { - tempDirIndex++; - } - if (m_hasDownloadsFolder) { - tempDirIndex++; - } + increaseIndexIfNeeded(tempDirIndex); QScopedPointer other(new PlacesItemModel()); @@ -654,15 +654,7 @@ void PlacesItemModelTest::testEditBookmark() void PlacesItemModelTest::testEditAfterCreation() { int tempDirIndex = 2; - if (m_hasDesktopFolder) { - tempDirIndex++; - } - if (m_hasDocumentsFolder) { - tempDirIndex++; - } - if (m_hasDownloadsFolder) { - tempDirIndex++; - } + increaseIndexIfNeeded(tempDirIndex); const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)); QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted); @@ -694,15 +686,7 @@ void PlacesItemModelTest::testEditAfterCreation() void PlacesItemModelTest::testEditMetadata() { int tempDirIndex = 2; - if (m_hasDesktopFolder) { - tempDirIndex++; - } - if (m_hasDocumentsFolder) { - tempDirIndex++; - } - if (m_hasDownloadsFolder) { - tempDirIndex++; - } + increaseIndexIfNeeded(tempDirIndex); const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)); QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted); @@ -736,15 +720,7 @@ void PlacesItemModelTest::testEditMetadata() void PlacesItemModelTest::testRefresh() { int tempDirIndex = 2; - if (m_hasDesktopFolder) { - tempDirIndex++; - } - if (m_hasDocumentsFolder) { - tempDirIndex++; - } - if (m_hasDownloadsFolder) { - tempDirIndex++; - } + increaseIndexIfNeeded(tempDirIndex); const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)); QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted); @@ -787,9 +763,6 @@ void PlacesItemModelTest::testIcons_data() // baloo -search QTest::newRow("Baloo - Documents") << QUrl("search:/documents") << QStringLiteral("folder-text"); - // baloo - timeline - QTest::newRow("Baloo - Today") << QUrl("timeline:/today") << QStringLiteral("go-jump-today"); - // devices QTest::newRow("Devices - Floppy") << QUrl("file:///media/floppy0") << QStringLiteral("blockdevice"); } @@ -810,15 +783,7 @@ void PlacesItemModelTest::testIcons() void PlacesItemModelTest::testDragAndDrop() { int lastIndex = 1; // last index of places group - if (m_hasDesktopFolder) { - lastIndex++; - } - if (m_hasDocumentsFolder) { - lastIndex++; - } - if (m_hasDownloadsFolder) { - lastIndex++; - } + increaseIndexIfNeeded(lastIndex); QList args; KItemRangeList range; @@ -933,15 +898,7 @@ void PlacesItemModelTest::testDuplicatedEntries() void PlacesItemModelTest::renameAfterCreation() { int tempDirIndex = 2; - if (m_hasDesktopFolder) { - tempDirIndex++; - } - if (m_hasDocumentsFolder) { - tempDirIndex++; - } - if (m_hasDownloadsFolder) { - tempDirIndex++; - } + increaseIndexIfNeeded(tempDirIndex); const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)); QStringList urls = initialUrls();