]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tests/placesitemmodeltest.cpp
[PlacesItemModelTest] Ignore user tag places
[dolphin.git] / src / tests / placesitemmodeltest.cpp
index 40ee47cbc9beb514eb71a0cb327cc67e3da6feed..7f0d498a7a0d8f93ff6eaae646fc99262471c8ef 100644 (file)
@@ -29,6 +29,7 @@
 #include <KAboutData>
 #include <KFilePlacesModel>
 
+#include "dolphin_generalsettings.h"
 #include "panels/places/placesitemmodel.h"
 #include "panels/places/placesitem.h"
 #include "views/viewproperties.h"
@@ -98,8 +99,8 @@ private:
     void createPlaceItem(const QString &text, const QUrl &url, const QString &icon);
     void schedulePlaceRemoval(int index);
     void cancelPlaceRemoval(int index);
-    void removeTestUserData();
     QMimeData *createMimeData(const QList<int> &indexes) const;
+    QTemporaryDir m_tempHomeDir;
 };
 
 #define CHECK_PLACES_URLS(urls)                                             \
@@ -200,15 +201,6 @@ void PlacesItemModelTest::cancelPlaceRemoval(int index)
     m_tobeRemoved.remove(index);
 }
 
-void PlacesItemModelTest::removeTestUserData()
-{
-    // user hardcoded path to avoid removal of any user personal data
-    QDir dir(QStringLiteral("/home/renato/.qttest/share/placesitemmodeltest"));
-    if (dir.exists()) {
-        QVERIFY(dir.removeRecursively());
-    }
-}
-
 QMimeData *PlacesItemModelTest::createMimeData(const QList<int> &indexes) const
 {
     QByteArray itemData;
@@ -251,14 +243,15 @@ void PlacesItemModelTest::cleanup()
     m_tobeRemoved.clear();
     delete m_model;
     m_model = nullptr;
-    removeTestUserData();
 }
 
 void PlacesItemModelTest::initTestCase()
 {
+    QVERIFY(m_tempHomeDir.isValid());
+    QVERIFY(qputenv("HOME", m_tempHomeDir.path().toUtf8()));
+    QVERIFY(qputenv("KDE_FORK_SLAVES", "yes"));
+
     QStandardPaths::setTestModeEnabled(true);
-    // remove test user data
-    removeTestUserData();
 
     const QString fakeHw = QFINDTESTDATA("data/fakecomputer.xml");
     QVERIFY(!fakeHw.isEmpty());
@@ -289,9 +282,6 @@ void PlacesItemModelTest::cleanupTestCase()
 {
     qDeleteAll(m_interfacesMap);
     QFile::remove(bookmarksFile());
-
-    // Remove any previous properties file
-    removeTestUserData();
 }
 
 void PlacesItemModelTest::testModelSort()
@@ -475,10 +465,20 @@ void PlacesItemModelTest::testDefaultViewProperties()
     QFETCH(bool, expectedPreviewShow);
     QFETCH(QList<QByteArray>, expectedVisibleRole);
 
+    // In order to test the default view properties, turn off the global view properties and re-init the test to reload the model.
+    GeneralSettings* settings = GeneralSettings::self();
+    settings->setGlobalViewProps(false);
+    settings->save();
+    cleanup();
+    init();
+
     ViewProperties properties(KFilePlacesModel::convertedUrl(url));
     QCOMPARE(properties.viewMode(), expectedViewMode);
     QCOMPARE(properties.previewsShown(), expectedPreviewShow);
     QCOMPARE(properties.visibleRoles(), expectedVisibleRole);
+
+    settings->setGlobalViewProps(true);
+    settings->save();
 }
 
 void PlacesItemModelTest::testClear()