]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tests/placesitemmodeltest.cpp
Add Flatpak patches to Dolphin depending on CMake definition
[dolphin.git] / src / tests / placesitemmodeltest.cpp
index ac7b6900b8a89413a9d45cac42a06e7d45f36fae..15a494691db6bdd603571ad5c1f59f31f0f21296 100644 (file)
@@ -34,7 +34,7 @@ class PlacesItemModelTest : public QObject
 {
     Q_OBJECT
 
-private slots:
+private Q_SLOTS:
     void init();
     void cleanup();
 
@@ -67,10 +67,13 @@ private:
     PlacesItemModel* m_model;
     QSet<int> m_tobeRemoved;
     QMap<QString, QDBusInterface *> 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);
@@ -82,6 +85,7 @@ private:
     void schedulePlaceRemoval(int index);
     void cancelPlaceRemoval(int index);
     QMimeData *createMimeData(const QList<int> &indexes) const;
+    void increaseIndexIfNeeded(int &index) const;
     QTemporaryDir m_tempHomeDir;
 };
 
@@ -161,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");
@@ -168,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");
     }
@@ -216,6 +234,28 @@ QMimeData *PlacesItemModelTest::createMimeData(const QList<int> &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();
@@ -271,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<KItemRangeList>();
     qRegisterMetaType<KItemRange>();
 }
@@ -290,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);
 
@@ -311,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"));
 
@@ -339,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;
 }
@@ -373,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());
@@ -457,9 +489,6 @@ void PlacesItemModelTest::testDefaultViewProperties_data()
     // audio files
     QTest::newRow("Places - Audio") << QUrl("search:/audio") << DolphinView::DetailsView << false << QList<QByteArray>({"text", "artist", "album"});
 
-    // baloo - timeline
-    QTest::newRow("Baloo - Today") << QUrl("timeline:/today") << DolphinView::DetailsView << true << QList<QByteArray>({"text", "modificationtime"});
-
     // devices
     QTest::newRow("Devices - Floppy") << QUrl("file:///media/floppy0") << DolphinView::IconsView << true << QList<QByteArray>({"text"});
 
@@ -549,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++) {
@@ -600,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<PlacesItemModel> other(new PlacesItemModel());
 
@@ -641,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);
@@ -681,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);
@@ -723,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);
@@ -774,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");
 }
@@ -797,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<QVariant> args;
     KItemRangeList range;
@@ -920,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();