/* * SPDX-FileCopyrightText: 2010-2011 Frank Reininghaus * * SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef TESTDIR_H #define TESTDIR_H #include #include #include /** * TestDir provides a temporary directory. In addition to QTemporaryDir, it has * methods that create files and subdirectories inside the directory. */ class TestDir : public QTemporaryDir { public: TestDir(const QString &directoryPrefix = QString()); virtual ~TestDir(); QUrl url() const; /** * The following functions create either a file, a list of files, or a directory. * The paths may be absolute or relative to the test directory. Any missing parent * directories will be created automatically. */ void createFile(const QString &path, const QByteArray &data = QByteArray("test"), const QDateTime &time = QDateTime()); void createFiles(const QStringList &files); void createDir(const QString &path, const QDateTime &time = QDateTime()); void removeFile(const QString &path); void removeFiles(const QStringList &files); void removeDir(const QString &path); private: void makePathAbsoluteAndCreateParents(QString &path); }; #endif