]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tests/testdir.cpp
GIT_SILENT Sync po/docbooks with svn
[dolphin.git] / src / tests / testdir.cpp
index a7f3cd4dc4186d6ee63e69d512d342c355e54656..30ca6632ec12e63bb6a4368c1fba82004f846c07 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,28 +21,28 @@ 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 */
-static void setTimeStamp(const QString& path, const QDateTime& mtime)
+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
 }
 
-void TestDir::createFile(const QString& path, const QByteArray& data, const QDateTime& time)
+void TestDir::createFile(const QString &path, const QByteArray &data, const QDateTime &time)
 {
     QString absolutePath = path;
     makePathAbsoluteAndCreateParents(absolutePath);
@@ -73,18 +59,18 @@ void TestDir::createFile(const QString& path, const QByteArray& data, const QDat
     Q_ASSERT(QFile::exists(absolutePath));
 }
 
-void TestDir::createFiles(const QStringListfiles)
+void TestDir::createFiles(const QStringList &files)
 {
-    foreach (const QString& path, files) {
+    for (const QString &path : files) {
         createFile(path);
     }
 }
 
-void TestDir::createDir(const QString& path, const QDateTime& time)
+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,21 +79,39 @@ void TestDir::createDir(const QString& path, const QDateTime& time)
     Q_ASSERT(QFile::exists(absolutePath));
 }
 
-void TestDir::removeFile(const QString& path)
+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 = name() + path;
+        absolutePath = TestDir::path() + QLatin1Char('/') + path;
     }
     QFile::remove(absolutePath);
 }
 
-void TestDir::makePathAbsoluteAndCreateParents(QString& path)
+void TestDir::removeDir(const QString &path)
+{
+    QString absolutePath = path;
+    QFileInfo fileInfo(absolutePath);
+    if (!fileInfo.isAbsolute()) {
+        absolutePath = TestDir::path() + QLatin1Char('/') + path;
+    }
+    QDir dirToRemove = QDir(absolutePath);
+    dirToRemove.removeRecursively();
+}
+
+void TestDir::makePathAbsoluteAndCreateParents(QString &path)
 {
     QFileInfo fileInfo(path);
     if (!fileInfo.isAbsolute()) {
-        path = name() + path;
+        path = TestDir::path() + QLatin1Char('/') + path;
         fileInfo.setFile(path);
     }