forked from qt-creator/qt-creator
		
	CppLocatorFilter: Add highlighting auto-tests
Change-Id: Ibd5b8318040876b46bfb14561c69019abd8dd8b7 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
		
				
					committed by
					
						
						André Hartmann
					
				
			
			
				
	
			
			
			
						parent
						
							b9a0c3ce99
						
					
				
				
					commit
					d1b997474d
				
			@@ -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);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user