Core: Add a test for LocatorFileCache

This test corresponds to the old test for BaseFileFilter.

Change-Id: If1e775f0f8490943ff41fb6a7ccc4069914fe1f2
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Jarek Kobus
2023-04-24 17:36:02 +02:00
parent 19918129bf
commit f44641bec7

View File

@@ -16,6 +16,7 @@
#include <QtTest> #include <QtTest>
using namespace Core::Tests; using namespace Core::Tests;
using namespace Utils;
namespace { namespace {
@@ -24,7 +25,7 @@ QTC_DECLARE_MYTESTDATADIR("../../../tests/locators/")
class MyBaseFileFilter : public Core::BaseFileFilter class MyBaseFileFilter : public Core::BaseFileFilter
{ {
public: public:
MyBaseFileFilter(const Utils::FilePaths &theFiles) MyBaseFileFilter(const FilePaths &theFiles)
{ {
setFileIterator(new BaseFileFilter::ListIterator(theFiles)); setFileIterator(new BaseFileFilter::ListIterator(theFiles));
} }
@@ -51,7 +52,8 @@ void Core::Internal::CorePlugin::test_basefilefilter()
QFETCH(QStringList, testFiles); QFETCH(QStringList, testFiles);
QFETCH(QList<ReferenceData>, referenceDataList); QFETCH(QList<ReferenceData>, referenceDataList);
MyBaseFileFilter filter(Utils::FileUtils::toFilePathList(testFiles)); const FilePaths filePaths = FileUtils::toFilePathList(testFiles);
MyBaseFileFilter filter(filePaths);
BasicLocatorFilterTest test(&filter); BasicLocatorFilterTest test(&filter);
for (const ReferenceData &reference : std::as_const(referenceDataList)) { for (const ReferenceData &reference : std::as_const(referenceDataList)) {
@@ -61,12 +63,22 @@ void Core::Internal::CorePlugin::test_basefilefilter()
// ResultData::printFilterEntries(results); // ResultData::printFilterEntries(results);
QCOMPARE(results, reference.results); QCOMPARE(results, reference.results);
} }
LocatorFileCache cache;
cache.setFilePaths(filePaths);
const LocatorMatcherTasks tasks = {cache.matcher()};
for (const ReferenceData &reference : std::as_const(referenceDataList)) {
const LocatorFilterEntries filterEntries = LocatorMatcher::runBlocking(
tasks, reference.searchText);
const ResultDataList results = ResultData::fromFilterEntryList(filterEntries);
QCOMPARE(results, reference.results);
}
} }
void Core::Internal::CorePlugin::test_basefilefilter_data() void Core::Internal::CorePlugin::test_basefilefilter_data()
{ {
auto shortNativePath = [](const QString &file) { auto shortNativePath = [](const QString &file) {
return Utils::FilePath::fromString(file).shortNativePath(); return FilePath::fromString(file).shortNativePath();
}; };
QTest::addColumn<QStringList>("testFiles"); QTest::addColumn<QStringList>("testFiles");