summaryrefslogtreecommitdiffstats
path: root/tests/auto/qdiriterator/tst_qdiriterator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qdiriterator/tst_qdiriterator.cpp')
-rw-r--r--tests/auto/qdiriterator/tst_qdiriterator.cpp639
1 files changed, 0 insertions, 639 deletions
diff --git a/tests/auto/qdiriterator/tst_qdiriterator.cpp b/tests/auto/qdiriterator/tst_qdiriterator.cpp
deleted file mode 100644
index 42ac065645..0000000000
--- a/tests/auto/qdiriterator/tst_qdiriterator.cpp
+++ /dev/null
@@ -1,639 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include <QtTest/QtTest>
-
-#include <qcoreapplication.h>
-#include <qdebug.h>
-#include <qdiriterator.h>
-#include <qfileinfo.h>
-#include <qstringlist.h>
-
-#if defined(Q_OS_VXWORKS)
-#define Q_NO_SYMLINKS
-#endif
-
-#if defined(Q_OS_SYMBIAN)
-#define Q_NO_SYMLINKS
-#define Q_NO_SYMLINKS_TO_DIRS
-#endif
-
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
-#include "../network-settings.h"
-#endif
-
-Q_DECLARE_METATYPE(QDirIterator::IteratorFlags)
-Q_DECLARE_METATYPE(QDir::Filters)
-
-//TESTED_CLASS=
-//TESTED_FILES=
-
-class tst_QDirIterator : public QObject
-{
- Q_OBJECT
-
-public:
- tst_QDirIterator();
- virtual ~tst_QDirIterator();
-
-private: // convenience functions
- QStringList createdDirectories;
- QStringList createdFiles;
-
- QDir currentDir;
- bool createDirectory(const QString &dirName)
- {
- if (currentDir.mkdir(dirName)) {
- createdDirectories.prepend(dirName);
- return true;
- }
- return false;
- }
-
- enum Cleanup { DoDelete, DontDelete };
- bool createFile(const QString &fileName, Cleanup cleanup = DoDelete)
- {
- QFile file(fileName);
- if (file.open(QIODevice::WriteOnly)) {
- if (cleanup == DoDelete)
- createdFiles << fileName;
- return true;
- }
- return false;
- }
-
- bool createLink(const QString &destination, const QString &linkName)
- {
- if (QFile::link(destination, linkName)) {
- createdFiles << linkName;
- return true;
- }
- return false;
- }
-
-private slots:
- void iterateRelativeDirectory_data();
- void iterateRelativeDirectory();
- void iterateResource_data();
- void iterateResource();
- void stopLinkLoop();
- void engineWithNoIterator();
- void absoluteFilePathsFromRelativeIteratorPath();
- void recurseWithFilters() const;
- void longPath();
- void task185502_dirorder();
- void relativePaths();
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
- void uncPaths_data();
- void uncPaths();
-#endif
- void qtbug15421_hiddenDirs_hiddenFiles();
-};
-
-tst_QDirIterator::tst_QDirIterator()
-{
- QFile::remove("entrylist/entrylist1.lnk");
- QFile::remove("entrylist/entrylist2.lnk");
- QFile::remove("entrylist/entrylist3.lnk");
- QFile::remove("entrylist/entrylist4.lnk");
- QFile::remove("entrylist/directory/entrylist1.lnk");
- QFile::remove("entrylist/directory/entrylist2.lnk");
- QFile::remove("entrylist/directory/entrylist3.lnk");
- QFile::remove("entrylist/directory/entrylist4.lnk");
-
- createDirectory("entrylist");
- createDirectory("entrylist/directory");
- createFile("entrylist/file", DontDelete);
- createFile("entrylist/writable");
- createFile("entrylist/directory/dummy", DontDelete);
-
- createDirectory("recursiveDirs");
- createDirectory("recursiveDirs/dir1");
- createFile("recursiveDirs/textFileA.txt");
- createFile("recursiveDirs/dir1/aPage.html");
- createFile("recursiveDirs/dir1/textFileB.txt");
-
- createDirectory("foo");
- createDirectory("foo/bar");
- createFile("foo/bar/readme.txt");
-
- createDirectory("empty");
-
-#ifndef Q_NO_SYMLINKS
-# if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN)
- // ### Sadly, this is a platform difference right now.
- createLink("entrylist/file", "entrylist/linktofile.lnk");
-# ifndef Q_NO_SYMLINKS_TO_DIRS
- createLink("entrylist/directory", "entrylist/linktodirectory.lnk");
-# endif
- createLink("entrylist/nothing", "entrylist/brokenlink.lnk");
-# else
- createLink("file", "entrylist/linktofile.lnk");
-# ifndef Q_NO_SYMLINKS_TO_DIRS
- createLink("directory", "entrylist/linktodirectory.lnk");
-# endif
- createLink("nothing", "entrylist/brokenlink.lnk");
-# endif
-#endif
-
- createDirectory("qtbug15421_hiddenDirs_hiddenFiles");
- createFile("qtbug15421_hiddenDirs_hiddenFiles/normalFile");
- createFile("qtbug15421_hiddenDirs_hiddenFiles/.hiddenFile");
- createDirectory("qtbug15421_hiddenDirs_hiddenFiles/normalDirectory");
- createDirectory("qtbug15421_hiddenDirs_hiddenFiles/.hiddenDirectory");
- createFile("qtbug15421_hiddenDirs_hiddenFiles/normalDirectory/normalFile");
- createFile("qtbug15421_hiddenDirs_hiddenFiles/normalDirectory/.hiddenFile");
- createFile("qtbug15421_hiddenDirs_hiddenFiles/.hiddenDirectory/normalFile");
- createFile("qtbug15421_hiddenDirs_hiddenFiles/.hiddenDirectory/.hiddenFile");
- createDirectory("qtbug15421_hiddenDirs_hiddenFiles/normalDirectory/normalDirectory");
- createDirectory("qtbug15421_hiddenDirs_hiddenFiles/normalDirectory/.hiddenDirectory");
- createDirectory("qtbug15421_hiddenDirs_hiddenFiles/.hiddenDirectory/normalDirectory");
- createDirectory("qtbug15421_hiddenDirs_hiddenFiles/.hiddenDirectory/.hiddenDirectory");
-}
-
-tst_QDirIterator::~tst_QDirIterator()
-{
- Q_FOREACH(QString fileName, createdFiles)
- QFile::remove(fileName);
-
- Q_FOREACH(QString dirName, createdDirectories)
- currentDir.rmdir(dirName);
-}
-
-void tst_QDirIterator::iterateRelativeDirectory_data()
-{
- QTest::addColumn<QString>("dirName"); // relative from current path or abs
- QTest::addColumn<QDirIterator::IteratorFlags>("flags");
- QTest::addColumn<QDir::Filters>("filters");
- QTest::addColumn<QStringList>("nameFilters");
- QTest::addColumn<QStringList>("entries");
-
- QTest::newRow("no flags")
- << QString("entrylist") << QDirIterator::IteratorFlags(0)
- << QDir::Filters(QDir::NoFilter) << QStringList("*")
- << QString(
-#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN)
- "entrylist/.,"
- "entrylist/..,"
-#endif
- "entrylist/file,"
-#ifndef Q_NO_SYMLINKS
- "entrylist/linktofile.lnk,"
-#endif
- "entrylist/directory,"
-#if !defined(Q_NO_SYMLINKS) && !defined(Q_NO_SYMLINKS_TO_DIRS)
- "entrylist/linktodirectory.lnk,"
-#endif
- "entrylist/writable").split(',');
-
- QTest::newRow("NoDot")
- << QString("entrylist") << QDirIterator::IteratorFlags(0)
- << QDir::Filters(QDir::AllEntries | QDir::NoDot) << QStringList("*")
- << QString(
-#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN)
- "entrylist/..,"
-#endif
- "entrylist/file,"
-#ifndef Q_NO_SYMLINKS
- "entrylist/linktofile.lnk,"
-#endif
- "entrylist/directory,"
-#if !defined(Q_NO_SYMLINKS) && !defined(Q_NO_SYMLINKS_TO_DIRS)
- "entrylist/linktodirectory.lnk,"
-#endif
- "entrylist/writable").split(',');
-
- QTest::newRow("NoDotDot")
- << QString("entrylist") << QDirIterator::IteratorFlags(0)
- << QDir::Filters(QDir::AllEntries | QDir::NoDotDot) << QStringList("*")
- << QString(
-#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN)
- "entrylist/.,"
-#endif
- "entrylist/file,"
-#ifndef Q_NO_SYMLINKS
- "entrylist/linktofile.lnk,"
-#endif
- "entrylist/directory,"
-#if !defined(Q_NO_SYMLINKS) && !defined(Q_NO_SYMLINKS_TO_DIRS)
- "entrylist/linktodirectory.lnk,"
-#endif
- "entrylist/writable").split(',');
-
- QTest::newRow("NoDotAndDotDot")
- << QString("entrylist") << QDirIterator::IteratorFlags(0)
- << QDir::Filters(QDir::AllEntries | QDir::NoDotAndDotDot) << QStringList("*")
- << QString(
- "entrylist/file,"
-#ifndef Q_NO_SYMLINKS
- "entrylist/linktofile.lnk,"
-#endif
- "entrylist/directory,"
-#if !defined(Q_NO_SYMLINKS) && !defined(Q_NO_SYMLINKS_TO_DIRS)
- "entrylist/linktodirectory.lnk,"
-#endif
- "entrylist/writable").split(',');
-
- QTest::newRow("QDir::Subdirectories | QDir::FollowSymlinks")
- << QString("entrylist") << QDirIterator::IteratorFlags(QDirIterator::Subdirectories | QDirIterator::FollowSymlinks)
- << QDir::Filters(QDir::NoFilter) << QStringList("*")
- << QString(
-#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN)
- "entrylist/.,"
- "entrylist/..,"
- "entrylist/directory/.,"
- "entrylist/directory/..,"
-#endif
- "entrylist/file,"
-#ifndef Q_NO_SYMLINKS
- "entrylist/linktofile.lnk,"
-#endif
- "entrylist/directory,"
- "entrylist/directory/dummy,"
-#if !defined(Q_NO_SYMLINKS) && !defined(Q_NO_SYMLINKS_TO_DIRS)
- "entrylist/linktodirectory.lnk,"
-#endif
- "entrylist/writable").split(',');
-
- QTest::newRow("QDir::Subdirectories / QDir::Files")
- << QString("entrylist") << QDirIterator::IteratorFlags(QDirIterator::Subdirectories)
- << QDir::Filters(QDir::Files) << QStringList("*")
- << QString("entrylist/directory/dummy,"
- "entrylist/file,"
-#ifndef Q_NO_SYMLINKS
- "entrylist/linktofile.lnk,"
-#endif
- "entrylist/writable").split(',');
-
- QTest::newRow("QDir::Subdirectories | QDir::FollowSymlinks / QDir::Files")
- << QString("entrylist") << QDirIterator::IteratorFlags(QDirIterator::Subdirectories | QDirIterator::FollowSymlinks)
- << QDir::Filters(QDir::Files) << QStringList("*")
- << QString("entrylist/file,"
-#ifndef Q_NO_SYMLINKS
- "entrylist/linktofile.lnk,"
-#endif
- "entrylist/directory/dummy,"
- "entrylist/writable").split(',');
-
- QTest::newRow("empty, default")
- << QString("empty") << QDirIterator::IteratorFlags(0)
- << QDir::Filters(QDir::NoFilter) << QStringList("*")
-#if defined(Q_OS_SYMBIAN) || defined(Q_OS_WINCE)
- << QStringList();
-#else
- << QString("empty/.,empty/..").split(',');
-#endif
-
- QTest::newRow("empty, QDir::NoDotAndDotDot")
- << QString("empty") << QDirIterator::IteratorFlags(0)
- << QDir::Filters(QDir::NoDotAndDotDot) << QStringList("*")
- << QStringList();
-}
-
-void tst_QDirIterator::iterateRelativeDirectory()
-{
- QFETCH(QString, dirName);
- QFETCH(QDirIterator::IteratorFlags, flags);
- QFETCH(QDir::Filters, filters);
- QFETCH(QStringList, nameFilters);
- QFETCH(QStringList, entries);
-
- QDirIterator it(dirName, nameFilters, filters, flags);
- QStringList list;
- while (it.hasNext()) {
- QString next = it.next();
-
- QString fileName = it.fileName();
- QString filePath = it.filePath();
- QString path = it.path();
-
- QFileInfo info = it.fileInfo();
-
- QCOMPARE(path, dirName);
- QCOMPARE(next, filePath);
-
- QCOMPARE(info, QFileInfo(next));
- QCOMPARE(fileName, info.fileName());
- QCOMPARE(filePath, info.filePath());
-
- // Using canonical file paths for final comparison
- list << info.canonicalFilePath();
- }
-
- // The order of items returned by QDirIterator is not guaranteed.
- list.sort();
-
- QStringList sortedEntries;
- foreach(QString item, entries)
- sortedEntries.append(QFileInfo(item).canonicalFilePath());
- sortedEntries.sort();
-
- if (sortedEntries != list) {
- qDebug() << "EXPECTED:" << sortedEntries;
- qDebug() << "ACTUAL: " << list;
- }
-
- QCOMPARE(list, sortedEntries);
-}
-
-void tst_QDirIterator::iterateResource_data()
-{
- QTest::addColumn<QString>("dirName"); // relative from current path or abs
- QTest::addColumn<QDirIterator::IteratorFlags>("flags");
- QTest::addColumn<QDir::Filters>("filters");
- QTest::addColumn<QStringList>("nameFilters");
- QTest::addColumn<QStringList>("entries");
-
- QTest::newRow("invalid") << QString::fromLatin1(":/burpaburpa") << QDirIterator::IteratorFlags(0)
- << QDir::Filters(QDir::NoFilter) << QStringList(QLatin1String("*"))
- << QStringList();
- QTest::newRow(":/") << QString::fromLatin1(":/") << QDirIterator::IteratorFlags(0)
- << QDir::Filters(QDir::NoFilter) << QStringList(QLatin1String("*"))
- << QString::fromLatin1(":/entrylist").split(QLatin1String(","));
- QTest::newRow(":/entrylist") << QString::fromLatin1(":/entrylist") << QDirIterator::IteratorFlags(0)
- << QDir::Filters(QDir::NoFilter) << QStringList(QLatin1String("*"))
- << QString::fromLatin1(":/entrylist/directory,:/entrylist/file").split(QLatin1String(","));
- QTest::newRow(":/ recursive") << QString::fromLatin1(":/") << QDirIterator::IteratorFlags(QDirIterator::Subdirectories)
- << QDir::Filters(QDir::NoFilter) << QStringList(QLatin1String("*"))
- << QString::fromLatin1(":/entrylist,:/entrylist/directory,:/entrylist/directory/dummy,:/entrylist/file").split(QLatin1String(","));
-}
-
-void tst_QDirIterator::iterateResource()
-{
- QFETCH(QString, dirName);
- QFETCH(QDirIterator::IteratorFlags, flags);
- QFETCH(QDir::Filters, filters);
- QFETCH(QStringList, nameFilters);
- QFETCH(QStringList, entries);
-
- QDirIterator it(dirName, nameFilters, filters, flags);
- QStringList list;
- while (it.hasNext())
- list << it.next();
-
- list.sort();
- QStringList sortedEntries = entries;
- sortedEntries.sort();
-
- if (sortedEntries != list) {
- qDebug() << "EXPECTED:" << sortedEntries;
- qDebug() << "ACTUAL:" << list;
- }
-
- QCOMPARE(list, sortedEntries);
-}
-
-void tst_QDirIterator::stopLinkLoop()
-{
-#ifdef Q_OS_WIN
- // ### Sadly, this is a platform difference right now.
- createLink(QDir::currentPath() + QLatin1String("/entrylist"), "entrylist/entrylist1.lnk");
- createLink("entrylist/.", "entrylist/entrylist2.lnk");
- createLink("entrylist/../entrylist/.", "entrylist/entrylist3.lnk");
- createLink("entrylist/..", "entrylist/entrylist4.lnk");
- createLink(QDir::currentPath() + QLatin1String("/entrylist"), "entrylist/directory/entrylist1.lnk");
- createLink("entrylist/.", "entrylist/directory/entrylist2.lnk");
- createLink("entrylist/../directory/.", "entrylist/directory/entrylist3.lnk");
- createLink("entrylist/..", "entrylist/directory/entrylist4.lnk");
-#else
- createLink(QDir::currentPath() + QLatin1String("/entrylist"), "entrylist/entrylist1.lnk");
- createLink(".", "entrylist/entrylist2.lnk");
- createLink("../entrylist/.", "entrylist/entrylist3.lnk");
- createLink("..", "entrylist/entrylist4.lnk");
- createLink(QDir::currentPath() + QLatin1String("/entrylist"), "entrylist/directory/entrylist1.lnk");
- createLink(".", "entrylist/directory/entrylist2.lnk");
- createLink("../directory/.", "entrylist/directory/entrylist3.lnk");
- createLink("..", "entrylist/directory/entrylist4.lnk");
-#endif
-
- QDirIterator it(QLatin1String("entrylist"), QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
- QStringList list;
- int max = 200;
- while (--max && it.hasNext())
- it.next();
- QVERIFY(max);
-
- // The goal of this test is only to ensure that the test above don't malfunction
-}
-
-class EngineWithNoIterator : public QFSFileEngine
-{
-public:
- EngineWithNoIterator(const QString &fileName)
- : QFSFileEngine(fileName)
- { }
-
- QAbstractFileEngineIterator *beginEntryList(QDir::Filters, const QStringList &)
- { return 0; }
-};
-
-class EngineWithNoIteratorHandler : public QAbstractFileEngineHandler
-{
-public:
- QAbstractFileEngine *create(const QString &fileName) const
- {
- return new EngineWithNoIterator(fileName);
- }
-};
-
-void tst_QDirIterator::engineWithNoIterator()
-{
- EngineWithNoIteratorHandler handler;
-
- QDir("entrylist").entryList();
- QVERIFY(true); // test that the above line doesn't crash
-}
-
-void tst_QDirIterator::absoluteFilePathsFromRelativeIteratorPath()
-{
- QDirIterator it("entrylist/", QDir::NoDotAndDotDot);
- while (it.hasNext()) {
- it.next();
- QVERIFY(QFileInfo(it.filePath()).absoluteFilePath().contains("entrylist"));
- }
-}
-
-void tst_QDirIterator::recurseWithFilters() const
-{
- QStringList nameFilters;
- nameFilters.append("*.txt");
-
- QDirIterator it("recursiveDirs/", nameFilters, QDir::Files,
- QDirIterator::Subdirectories);
-
- QSet<QString> actualEntries;
- QSet<QString> expectedEntries;
- expectedEntries.insert(QString::fromLatin1("recursiveDirs/dir1/textFileB.txt"));
- expectedEntries.insert(QString::fromLatin1("recursiveDirs/textFileA.txt"));
-
- QVERIFY(it.hasNext());
- it.next();
- actualEntries.insert(it.fileInfo().filePath());
- QVERIFY(it.hasNext());
- it.next();
- actualEntries.insert(it.fileInfo().filePath());
- QVERIFY(actualEntries == expectedEntries);
-
- QVERIFY(!it.hasNext());
-}
-
-void tst_QDirIterator::longPath()
-{
- QDir dir;
- dir.mkdir("longpaths");
- dir.cd("longpaths");
-
- QString dirName = "x";
- int n = 0;
- while (dir.exists(dirName) || dir.mkdir(dirName)) {
- ++n;
- dirName.append('x');
-#if defined(Q_OS_WINCE) && defined(WINCE_BROKEN_ITERATE)
- // Some Windows CE devices/emulators are broken.
- // though one can create directories of length <= 217,
- // FindNextFile only reports entries until ~ 214.
- if (n >= 210)
- break;
-#endif
- }
-
- QDirIterator it(dir.absolutePath(), QDir::NoDotAndDotDot|QDir::Dirs, QDirIterator::Subdirectories);
- int m = 0;
- while (it.hasNext()) {
- ++m;
- it.next();
- }
-
- QCOMPARE(n, m);
-
- dirName.chop(1);
- while (dirName.length() > 0 && dir.exists(dirName) && dir.rmdir(dirName)) {
- dirName.chop(1);
- }
- dir.cdUp();
- dir.rmdir("longpaths");
-}
-
-void tst_QDirIterator::task185502_dirorder()
-{
- QDirIterator iterator("foo", QDirIterator::Subdirectories);
- while (iterator.hasNext() && iterator.next() != "foo/bar")
- { }
-
- QCOMPARE(iterator.filePath(), QString("foo/bar"));
- QCOMPARE(iterator.fileInfo().filePath(), QString("foo/bar"));
-}
-
-void tst_QDirIterator::relativePaths()
-{
- QDirIterator iterator("*", QDirIterator::Subdirectories);
- while(iterator.hasNext()) {
- QCOMPARE(iterator.filePath(), QDir::cleanPath(iterator.filePath()));
- }
-}
-
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
-void tst_QDirIterator::uncPaths_data()
-{
- QTest::addColumn<QString>("dirName");
- QTest::newRow("uncserver")
- <<QString("//" + QtNetworkSettings::winServerName());
- QTest::newRow("uncserver/testshare")
- <<QString("//" + QtNetworkSettings::winServerName() + "/testshare");
- QTest::newRow("uncserver/testshare/tmp")
- <<QString("//" + QtNetworkSettings::winServerName() + "/testshare/tmp");
-}
-void tst_QDirIterator::uncPaths()
-{
- QFETCH(QString, dirName);
- QDirIterator iterator(dirName, QDir::AllEntries|QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
- while(iterator.hasNext()) {
- iterator.next();
- QCOMPARE(iterator.filePath(), QDir::cleanPath(iterator.filePath()));
- }
-}
-#endif
-
-void tst_QDirIterator::qtbug15421_hiddenDirs_hiddenFiles()
-{
- // In Unix it is easy to create hidden files, but in Windows it requires
- // a special call since hidden files need to be "marked" while in Unix
- // anything starting by a '.' is a hidden file.
- // For that reason this test is not run in Windows.
-#if defined Q_OS_WIN || Q_OS_WINCE
- QSKIP("To create hidden files a special call is required in Windows.", SkipAll);
-#else
- // Only files
- {
- int matches = 0;
- int failures = 0;
- QDirIterator di("qtbug15421_hiddenDirs_hiddenFiles", QDir::Files | QDir::Hidden | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
- while (di.hasNext()) {
- ++matches;
- QString filename = di.next();
- if (QFileInfo(filename).isDir())
- ++failures; // search was only supposed to find files
- }
- QCOMPARE(matches, 6);
- QCOMPARE(failures, 0);
- }
- // Only directories
- {
- int matches = 0;
- int failures = 0;
- QDirIterator di("qtbug15421_hiddenDirs_hiddenFiles", QDir::Dirs | QDir::Hidden | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
- while (di.hasNext()) {
- ++matches;
- QString filename = di.next();
- if (!QFileInfo(filename).isDir())
- ++failures; // search was only supposed to find files
- }
- QCOMPARE(matches, 6);
- QCOMPARE(failures, 0);
- }
-#endif // Q_OS_WIN || Q_OS_WINCE
-}
-
-QTEST_MAIN(tst_QDirIterator)
-
-#include "tst_qdiriterator.moc"
-