tst_qdiriterator: add a test for QFsFileEngineIterator
As a baseline for subsequent commits. Change-Id: Ifac026848e92817b08a75ceafee6d06e0a8f399d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>bb10
parent
ff1039c217
commit
d887e34b49
|
|
@ -70,6 +70,8 @@ private slots:
|
|||
void stopLinkLoop();
|
||||
#ifdef QT_BUILD_INTERNAL
|
||||
void engineWithNoIterator();
|
||||
void testQFsFileEngineIterator_data() { iterateRelativeDirectory_data(); }
|
||||
void testQFsFileEngineIterator();
|
||||
#endif
|
||||
void absoluteFilePathsFromRelativeIteratorPath();
|
||||
void recurseWithFilters() const;
|
||||
|
|
@ -456,6 +458,38 @@ void tst_QDirIterator::engineWithNoIterator()
|
|||
QDir("entrylist").entryList();
|
||||
QVERIFY(true); // test that the above line doesn't crash
|
||||
}
|
||||
|
||||
class CustomEngineHandler : public QAbstractFileEngineHandler
|
||||
{
|
||||
public:
|
||||
QAbstractFileEngine *create(const QString &fileName) const override
|
||||
{
|
||||
// We want to test QFSFileEngine specifically, so force QDirIterator to use it
|
||||
// over the default QFileSystemEngine
|
||||
return new QFSFileEngine(fileName);
|
||||
}
|
||||
};
|
||||
|
||||
void tst_QDirIterator::testQFsFileEngineIterator()
|
||||
{
|
||||
QFETCH(QString, dirName);
|
||||
QFETCH(QStringList, nameFilters);
|
||||
QFETCH(QDir::Filters, filters);
|
||||
QFETCH(QDirIterator::IteratorFlags, flags);
|
||||
|
||||
if (dirName == u"empty")
|
||||
return; // This row isn't useful in this test
|
||||
|
||||
CustomEngineHandler handler;
|
||||
bool isEmpty = true;
|
||||
QDirIterator iter(dirName, nameFilters, filters, flags);
|
||||
while (iter.hasNext()) {
|
||||
const QFileInfo &fi = iter.nextFileInfo();
|
||||
if (fi.filePath().contains(u"entrylist"))
|
||||
isEmpty = false; // At least one entry in `entrylist` dir
|
||||
}
|
||||
QVERIFY(!isEmpty);
|
||||
}
|
||||
#endif
|
||||
|
||||
void tst_QDirIterator::absoluteFilePathsFromRelativeIteratorPath()
|
||||
|
|
|
|||
Loading…
Reference in New Issue