CppLocatorFilter: Add highlighting auto-tests

Change-Id: Ibd5b8318040876b46bfb14561c69019abd8dd8b7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Andre Hartmann
2019-08-11 12:40:48 +02:00
committed by André Hartmann
parent b9a0c3ce99
commit d1b997474d
4 changed files with 81 additions and 9 deletions

View File

@@ -93,14 +93,15 @@ class CppCurrentDocumentFilterTestCase
{
public:
CppCurrentDocumentFilterTestCase(const QString &fileName,
const ResultDataList &expectedResults)
const ResultDataList &expectedResults,
const QString &searchText = QString())
: BasicLocatorFilterTest(CppTools::CppModelManager::instance()->currentDocumentFilter())
, m_fileName(fileName)
{
QVERIFY(succeededSoFar());
QVERIFY(!m_fileName.isEmpty());
ResultDataList results = ResultData::fromFilterEntryList(matchesFor());
ResultDataList results = ResultData::fromFilterEntryList(matchesFor(searchText));
if (debug) {
ResultData::printFilterEntries(expectedResults, "Expected:");
ResultData::printFilterEntries(results, "Results:");
@@ -372,3 +373,53 @@ void CppToolsPlugin::test_cpplocatorfilters_CppCurrentDocumentFilter()
CppCurrentDocumentFilterTestCase(testFile, expectedResults);
}
void CppToolsPlugin::test_cpplocatorfilters_CppCurrentDocumentHighlighting()
{
MyTestDataDir testDirectory("testdata_basic");
const QString testFile = testDirectory.file("file1.cpp");
const QString searchText = "pos";
const ResultDataList expectedResults{
ResultData("Pos", "",
"~~~"),
ResultData("pointOfService()", "",
"~ ~ ~ "),
ResultData("positiveNumber()", "",
"~~~ "),
ResultData("somePositionWithin()", "",
" ~~~ "),
ResultData("matchArgument(Pos)", "",
" ~~~ ")
};
Tests::VerifyCleanCppModelManager verify;
CppCurrentDocumentFilterTestCase(testFile, expectedResults, searchText);
}
void CppToolsPlugin::test_cpplocatorfilters_CppFunctionsFilterHighlighting()
{
MyTestDataDir testDirectory("testdata_basic");
const QString testFile = testDirectory.file("file1.cpp");
const QString testFileShort = FilePath::fromString(testFile).shortNativePath();
const QString searchText = "pos";
const ResultDataList expectedResults{
ResultData("positiveNumber()", testFileShort,
"~~~ "),
ResultData("somePositionWithin()", testFileShort,
" ~~~ "),
ResultData("pointOfService()", testFileShort,
"~ ~ ~ "),
ResultData("matchArgument(Pos)", testFileShort,
" ~~~ ")
};
CppModelManager *cppModelManager = CppModelManager::instance();
ILocatorFilter *filter = cppModelManager->functionsFilter();
Tests::VerifyCleanCppModelManager verify;
CppLocatorFilterTestCase(filter, testFile, searchText, expectedResults);
}

View File

@@ -159,6 +159,8 @@ private slots:
void test_cpplocatorfilters_CppLocatorFilter();
void test_cpplocatorfilters_CppLocatorFilter_data();
void test_cpplocatorfilters_CppCurrentDocumentFilter();
void test_cpplocatorfilters_CppCurrentDocumentHighlighting();
void test_cpplocatorfilters_CppFunctionsFilterHighlighting();
void test_builtinsymbolsearcher();
void test_builtinsymbolsearcher_data();