File indexing completed on 2024-04-28 05:45:22
0001 /* 0002 * SPDX-FileCopyrightText: 2010-2011 Frank Reininghaus <frank78ac@googlemail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef TESTDIR_H 0008 #define TESTDIR_H 0009 0010 #include <QDateTime> 0011 #include <QTemporaryDir> 0012 #include <QUrl> 0013 0014 /** 0015 * TestDir provides a temporary directory. In addition to QTemporaryDir, it has 0016 * methods that create files and subdirectories inside the directory. 0017 */ 0018 class TestDir : public QTemporaryDir 0019 { 0020 public: 0021 TestDir(const QString &directoryPrefix = QString()); 0022 virtual ~TestDir(); 0023 0024 QUrl url() const; 0025 0026 /** 0027 * The following functions create either a file, a list of files, or a directory. 0028 * The paths may be absolute or relative to the test directory. Any missing parent 0029 * directories will be created automatically. 0030 */ 0031 void createFile(const QString &path, const QByteArray &data = QByteArray("test"), const QDateTime &time = QDateTime()); 0032 void createFiles(const QStringList &files); 0033 void createDir(const QString &path, const QDateTime &time = QDateTime()); 0034 0035 void removeFile(const QString &path); 0036 void removeFiles(const QStringList &files); 0037 void removeDir(const QString &path); 0038 0039 private: 0040 void makePathAbsoluteAndCreateParents(QString &path); 0041 }; 0042 0043 #endif