summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qdir
diff options
context:
space:
mode:
authorElvis Angelaccio <elvis.angelaccio@kde.org>2016-09-12 18:48:17 +0200
committerElvis Angelaccio <elvis.angelaccio@kde.org>2017-01-08 16:11:34 +0000
commit3f455a4b53254b3ebbafae91600a63caebee3e0e (patch)
tree5e63f750d03de84307369c66c0bfac144b238adf /tests/auto/corelib/io/qdir
parent5311d481c2159c0076afc31c1276e1bd5b674fc4 (diff)
Introduce QDir::isEmpty()
A directory is empty when it doesn't contain files or folders. We can exploit QDirIterator::hasNext() to check whether this is the case. This is efficient since it doesn't list the whole folder (in the non-empty case). Test cases are added for both the empty and non-empty cases. Change-Id: I0f7e26782c0f97f9c16f928dab6cae37927875d8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/corelib/io/qdir')
-rw-r--r--tests/auto/corelib/io/qdir/tst_qdir.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/corelib/io/qdir/tst_qdir.cpp b/tests/auto/corelib/io/qdir/tst_qdir.cpp
index b86c6e4dfa..49ee8eb32c 100644
--- a/tests/auto/corelib/io/qdir/tst_qdir.cpp
+++ b/tests/auto/corelib/io/qdir/tst_qdir.cpp
@@ -211,6 +211,9 @@ private slots:
void cdBelowRoot_data();
void cdBelowRoot();
+ void emptyDir();
+ void nonEmptyDir();
+
private:
#ifdef BUILTIN_TESTDATA
QString m_dataPath;
@@ -2281,6 +2284,26 @@ void tst_QDir::cdBelowRoot()
QCOMPARE(dir.path(), rootPath);
}
+void tst_QDir::emptyDir()
+{
+ const QString tempDir = QDir::currentPath() + "/tmpdir/";
+ QVERIFY(QDir().mkdir(tempDir));
+ QVERIFY(QDir(tempDir).mkdir("emptyDirectory"));
+
+ QDir testDir(tempDir + "emptyDirectory");
+ QVERIFY(testDir.isEmpty());
+ QVERIFY(!testDir.isEmpty(QDir::AllEntries));
+ QVERIFY(!testDir.isEmpty(QDir::AllEntries | QDir::NoDot));
+ QVERIFY(!testDir.isEmpty(QDir::AllEntries | QDir::NoDotDot));
+ QVERIFY(QDir(tempDir).removeRecursively());
+}
+
+void tst_QDir::nonEmptyDir()
+{
+ const QDir dir(m_dataPath);
+ QVERIFY(!dir.isEmpty());
+}
+
QTEST_MAIN(tst_QDir)
#include "tst_qdir.moc"