From 1c43f2fba94008d238ab6e25842bcd654a4460a1 Mon Sep 17 00:00:00 2001 From: Ahmad Samir Date: Thu, 30 May 2024 03:25:34 +0300 Subject: [PATCH] QDirListing: extend unittests to using the class with STL algorithms Change-Id: I5f4021d50a5791cfe1a6a71c0bb7cf90dd0c9e6c Reviewed-by: Thiago Macieira --- .../corelib/io/qdirlisting/tst_qdirlisting.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/auto/corelib/io/qdirlisting/tst_qdirlisting.cpp b/tests/auto/corelib/io/qdirlisting/tst_qdirlisting.cpp index e58a3f2ef55..e2ac1858dae 100644 --- a/tests/auto/corelib/io/qdirlisting/tst_qdirlisting.cpp +++ b/tests/auto/corelib/io/qdirlisting/tst_qdirlisting.cpp @@ -89,6 +89,8 @@ private slots: void hiddenDirs(); #endif + void withStdAlgorithms(); + private: QSharedPointer m_dataDir; }; @@ -627,6 +629,22 @@ void tst_QDirListing::hiddenDirs() #endif // Q_OS_WIN +void tst_QDirListing::withStdAlgorithms() +{ + QDirListing dirList(u"entrylist"_s, QDir::AllEntries | QDir::NoDotAndDotDot, ItFlag::Recursive); + + std::for_each(dirList.cbegin(), dirList.cend(), [](const auto &dirEntry) { + QVERIFY(dirEntry.absoluteFilePath().contains("entrylist")); + }); + + const auto fileName = "dummy"_L1; + auto it = std::find_if(dirList.cbegin(), dirList.cend(), [fileName](const auto &dirEntry) { + return dirEntry.fileName() == fileName; + }); + QVERIFY(it != dirList.cend()); + QCOMPARE(it->fileName(), fileName); +} + QTEST_MAIN(tst_QDirListing) #include "tst_qdirlisting.moc"