]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tests/testdir.cpp
Merge branch 'release/21.12'
[dolphin.git] / src / tests / testdir.cpp
index 5e961d2abecd1858c9b362b5750eb9b7fd24392d..5d75a5343baaef7175b75993f4217e7b3b608b39 100644 (file)
@@ -1,33 +1,19 @@
-/*****************************************************************************
- *   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
 
-TestDir::TestDir()
+TestDir::TestDir(const QString& directoryPrefix) :
+    QTemporaryDir(directoryPrefix)
 {
 }
 
@@ -35,9 +21,9 @@ TestDir::~TestDir()
 {
 }
 
-KUrl TestDir::url() const
+QUrl TestDir::url() const
 {
-    return KUrl(name());
+    return QUrl::fromLocalFile(path());
 }
 
 /** The following function is taken from kdelibs/kio/tests/kiotesthelper.h, copyright (C) 2006 by David Faure */
@@ -45,12 +31,12 @@ static void setTimeStamp(const QString& path, const QDateTime& mtime)
 {
 #ifdef Q_OS_UNIX
     struct utimbuf utbuf;
-    utbuf.actime = mtime.toTime_t();
+    utbuf.actime = mtime.toSecsSinceEpoch();
     utbuf.modtime = utbuf.actime;
     utime(QFile::encodeName(path), &utbuf);
 #elif defined(Q_OS_WIN)
     struct _utimbuf utbuf;
-    utbuf.actime = mtime.toTime_t();
+    utbuf.actime = mtime.toSecsSinceEpoch();
     utbuf.modtime = utbuf.actime;
     _wutime(reinterpret_cast<const wchar_t *>(path.utf16()), &utbuf);
 #endif
@@ -75,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);
     }
 }
@@ -84,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);
@@ -93,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);
     }