X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/95cb8ffe01e0252d3a26f244e8607254200d067f..c4ffe88c9fafaed4b66a010a25b117427ba709f6:/src/tests/testdir.cpp diff --git a/src/tests/testdir.cpp b/src/tests/testdir.cpp index 64d7f1aaa..30ca6632e 100644 --- a/src/tests/testdir.cpp +++ b/src/tests/testdir.cpp @@ -1,50 +1,48 @@ -/***************************************************************************** - * 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 + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #include "testdir.h" -#include - #ifdef Q_OS_UNIX #include #else #include #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() +{ +} -static void setTimeStamp(const QString& path, const QDateTime& mtime) +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 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(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); @@ -61,18 +59,18 @@ void TestDir::createFile(const QString& path, const QByteArray& data, const QDat Q_ASSERT(QFile::exists(absolutePath)); } -void TestDir::createFiles(const QStringList& files) +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); @@ -81,11 +79,39 @@ void TestDir::createDir(const QString& path, const QDateTime& time) Q_ASSERT(QFile::exists(absolutePath)); } -void TestDir::makePathAbsoluteAndCreateParents(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 = TestDir::path() + QLatin1Char('/') + path; + } + QFile::remove(absolutePath); +} + +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); }