]> cloud.milkyroute.net Git - dolphin.git/blob - src/tests/testdir.h
Adapt build system for building against qt6
[dolphin.git] / src / tests / testdir.h
1 /*
2 * SPDX-FileCopyrightText: 2010-2011 Frank Reininghaus <frank78ac@googlemail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #ifndef TESTDIR_H
8 #define TESTDIR_H
9
10 #include <QUrl>
11 #include <QTemporaryDir>
12 #include <QDateTime>
13
14 /**
15 * TestDir provides a temporary directory. In addition to QTemporaryDir, it has
16 * methods that create files and subdirectories inside the directory.
17 */
18 class TestDir : public QTemporaryDir
19 {
20
21 public:
22 TestDir(const QString& directoryPrefix = QString());
23 virtual ~TestDir();
24
25 QUrl url() const;
26
27 /**
28 * The following functions create either a file, a list of files, or a directory.
29 * The paths may be absolute or relative to the test directory. Any missing parent
30 * directories will be created automatically.
31 */
32 void createFile(const QString& path,
33 const QByteArray& data = QByteArray("test"),
34 const QDateTime& time = QDateTime());
35 void createFiles(const QStringList& files);
36 void createDir(const QString& path, const QDateTime& time = QDateTime());
37
38 void removeFile(const QString& path);
39 void removeFiles(const QStringList& files);
40
41 private:
42 void makePathAbsoluteAndCreateParents(QString& path);
43
44 };
45
46 #endif