]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tests/testdir.cpp
Reuse KFileItemActions instance during lifetime of dolphin
[dolphin.git] / src / tests / testdir.cpp
index 64d7f1aaab766afd3705b52f9b5483d58114f473..51dbdbc580006f5a65e99e3f640b5a453e7cd987 100644 (file)
@@ -1,34 +1,32 @@
-/*****************************************************************************
- *   Copyright (C) 2010-2011 by Frank Reininghaus (frank78ac@googlemail.com) *
- *                                                                           *
- *   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: 2010-2011 Frank Reininghaus <frank78ac@googlemail.com>
+ *
+ *   SPDX-License-Identifier: GPL-2.0-or-later
+ */
 
 #include "testdir.h"
 
-#include <QDir>
-
 #ifdef Q_OS_UNIX
 #include <utime.h>
 #else
 #include <sys/utime.h>
 #endif
 
-/** The following function is taken from kdelibs/kio/tests/kiotesthelper.h, copyright (C) 2006 by David Faure */
+TestDir::TestDir(const QString& directoryPrefix) :
+    QTemporaryDir(directoryPrefix)
+{
+}
 
+TestDir::~TestDir()
+{
+}
+
+QUrl TestDir::url() const
+{
+    return QUrl::fromLocalFile(path());
+}
+
+/** The following function is taken from kdelibs/kio/tests/kiotesthelper.h, copyright (C) 2006 by David Faure */
 static void setTimeStamp(const QString& path, const QDateTime& mtime)
 {
 #ifdef Q_OS_UNIX
@@ -63,7 +61,7 @@ void TestDir::createFile(const QString& path, const QByteArray& data, const QDat
 
 void TestDir::createFiles(const QStringList& files)
 {
-    foreach(const QString& path, files) {
+    for (const QString& path : files) {
         createFile(path);
     }
 }
@@ -72,7 +70,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);
@@ -81,11 +79,28 @@ void TestDir::createDir(const QString& path, const QDateTime& time)
     Q_ASSERT(QFile::exists(absolutePath));
 }
 
+void TestDir::removeFiles(const QStringList& files)
+{
+    for (const QString& path : files) {
+        removeFile(path);
+    }
+}
+
+void TestDir::removeFile(const QString& path)
+{
+    QString absolutePath = path;
+    QFileInfo fileInfo(absolutePath);
+    if (!fileInfo.isAbsolute()) {
+        absolutePath = TestDir::path() + QLatin1Char('/') + path;
+    }
+    QFile::remove(absolutePath);
+}
+
 void TestDir::makePathAbsoluteAndCreateParents(QString& path)
 {
     QFileInfo fileInfo(path);
     if (!fileInfo.isAbsolute()) {
-        path = name() + path;
+        path = TestDir::path() + QLatin1Char('/') + path;
         fileInfo.setFile(path);
     }