Clang: Add clang query pane

We now support highlighting for an example text and for the query.

Change-Id: I88c415ff871cf3e4c2d4fc83d60a8555bf0ce08a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Marco Bubke
2017-07-03 12:35:58 +02:00
committed by Tim Jenssen
parent 8c4127ebac
commit a31eae4d0a
75 changed files with 2950 additions and 484 deletions

View File

@@ -31,10 +31,7 @@
#include <writemessageblock.h>
#include <refactoringclientproxy.h>
#include <refactoringserverproxy.h>
#include <sourcelocationsforrenamingmessage.h>
#include <sourcerangesanddiagnosticsforquerymessage.h>
#include <requestsourcelocationforrenamingmessage.h>
#include <requestsourcerangesanddiagnosticsforquerymessage.h>
#include <clangrefactoringmessages.h>
#include <QBuffer>
#include <QString>
@@ -72,8 +69,7 @@ protected:
TEST_F(RefactoringClientServerInProcess, SendEndMessage)
{
EXPECT_CALL(mockRefactoringServer, end())
.Times(1);
EXPECT_CALL(mockRefactoringServer, end());
serverProxy.end();
scheduleServerMessages();
@@ -81,9 +77,7 @@ TEST_F(RefactoringClientServerInProcess, SendEndMessage)
TEST_F(RefactoringClientServerInProcess, SendAliveMessage)
{
EXPECT_CALL(mockRefactoringClient, alive())
.Times(1);
EXPECT_CALL(mockRefactoringClient, alive());
clientProxy.alive();
scheduleClientMessages();
@@ -94,8 +88,7 @@ TEST_F(RefactoringClientServerInProcess, SendSourceLocationsForRenamingMessage)
ClangBackEnd::SourceLocationsContainer container;
ClangBackEnd::SourceLocationsForRenamingMessage message("symbolName", std::move(container), 1);
EXPECT_CALL(mockRefactoringClient, sourceLocationsForRenamingMessage(message))
.Times(1);
EXPECT_CALL(mockRefactoringClient, sourceLocationsForRenamingMessage(message));
clientProxy.sourceLocationsForRenamingMessage(message.clone());
scheduleClientMessages();
@@ -110,8 +103,7 @@ TEST_F(RefactoringClientServerInProcess, SendRequestSourceLocationsForRenamingMe
{"cc", "renamevariable.cpp"},
1};
EXPECT_CALL(mockRefactoringServer, requestSourceLocationsForRenamingMessage(message))
.Times(1);
EXPECT_CALL(mockRefactoringServer, requestSourceLocationsForRenamingMessage(message));
serverProxy.requestSourceLocationsForRenamingMessage(message.clone());
scheduleServerMessages();
@@ -124,36 +116,62 @@ TEST_F(RefactoringClientServerInProcess, SourceRangesAndDiagnosticsForQueryMessa
ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage message(std::move(sourceRangesContainer),
std::move(diagnosticContainers));
EXPECT_CALL(mockRefactoringClient, sourceRangesAndDiagnosticsForQueryMessage(message))
.Times(1);
EXPECT_CALL(mockRefactoringClient, sourceRangesAndDiagnosticsForQueryMessage(message));
clientProxy.sourceRangesAndDiagnosticsForQueryMessage(message.clone());
scheduleClientMessages();
}
TEST_F(RefactoringClientServerInProcess, SourceRangesForQueryMessage)
{
ClangBackEnd::SourceRangesContainer sourceRangesContainer;
ClangBackEnd::SourceRangesForQueryMessage message(std::move(sourceRangesContainer));
EXPECT_CALL(mockRefactoringClient, sourceRangesForQueryMessage(message));
clientProxy.sourceRangesForQueryMessage(message.clone());
scheduleClientMessages();
}
TEST_F(RefactoringClientServerInProcess, RequestSourceRangesAndDiagnosticsForQueryMessage)
{
RequestSourceRangesAndDiagnosticsForQueryMessage message{"functionDecl()",
{{{TESTDATA_DIR, "query_simplefunction.cpp"},
"void f();",
{"cc", "query_simplefunction.cpp"},
1}},
{{{TESTDATA_DIR, "query_simplefunction.h"},
"void f();",
{},
1}}};
RequestSourceRangesForQueryMessage message{"functionDecl()",
{{{TESTDATA_DIR, "query_simplefunction.cpp"},
"void f();",
{"cc", "query_simplefunction.cpp"},
1}},
{{{TESTDATA_DIR, "query_simplefunction.h"},
"void f();",
{},
1}}};
EXPECT_CALL(mockRefactoringServer, requestSourceRangesAndDiagnosticsForQueryMessage(message))
.Times(1);
EXPECT_CALL(mockRefactoringServer, requestSourceRangesForQueryMessage(message));
serverProxy.requestSourceRangesAndDiagnosticsForQueryMessage(message.clone());
serverProxy.requestSourceRangesForQueryMessage(message.clone());
scheduleServerMessages();
}
TEST_F(RefactoringClientServerInProcess, RequestSourceRangesForQueryMessage)
{
RequestSourceRangesForQueryMessage message{"functionDecl()",
{{{TESTDATA_DIR, "query_simplefunction.cpp"},
"void f();",
{"cc", "query_simplefunction.cpp"},
1}},
{{{TESTDATA_DIR, "query_simplefunction.h"},
"void f();",
{},
1}}};
EXPECT_CALL(mockRefactoringServer, requestSourceRangesForQueryMessage(message));
serverProxy.requestSourceRangesForQueryMessage(message.clone());
scheduleServerMessages();
}
TEST_F(RefactoringClientServerInProcess, CancelMessage)
{
EXPECT_CALL(mockRefactoringServer, cancel())
.Times(1);
EXPECT_CALL(mockRefactoringServer, cancel());
serverProxy.cancel();
scheduleServerMessages();