CppTools: add multiple refactoring engines support

Make model manager able to select the most functional
refactoring engine from the available ones.

Change-Id: I74031c910706fd694a0a7def022531501f1ea005
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Ivan Donchevskii
2017-09-25 16:41:17 +02:00
parent 57e35274c2
commit 5c554c0de9
17 changed files with 99 additions and 55 deletions

View File

@@ -82,25 +82,25 @@ TEST_F(ClangQueryProjectFindFilter, SupportedFindFlags)
TEST_F(ClangQueryProjectFindFilter, IsNotUsableForUnusableServer)
{
auto isUsable = findFilter.isUsable();
auto isUsable = findFilter.isAvailable();
ASSERT_FALSE(isUsable);
}
TEST_F(ClangQueryProjectFindFilter, IsUsableForUsableServer)
{
mockRefactoringServer.setUsable(true);
mockRefactoringServer.setAvailable(true);
auto isUsable = findFilter.isUsable();
auto isUsable = findFilter.isAvailable();
ASSERT_TRUE(isUsable);
}
TEST_F(ClangQueryProjectFindFilter, ServerIsUsableForUsableFindFilter)
{
findFilter.setUsable(true);
findFilter.setAvailable(true);
auto isUsable = mockRefactoringServer.isUsable();
auto isUsable = mockRefactoringServer.isAvailable();
ASSERT_TRUE(isUsable);
}

View File

@@ -123,7 +123,7 @@ TEST_F(RefactoringClient, AfterSourceLocationsForRenamingEngineIsUsableAgain)
client.sourceLocationsForRenamingMessage(std::move(renameMessage));
ASSERT_TRUE(engine.isUsable());
ASSERT_TRUE(engine.isRefactoringEngineAvailable());
}
TEST_F(RefactoringClient, AfterStartLocalRenameHasValidCallback)

View File

@@ -99,26 +99,26 @@ TEST_F(RefactoringEngine, AfterSendRequestSourceLocationsForRenamingMessageIsUnu
engine.startLocalRenaming(CppTools::CursorInEditor{cursor, filePath},
projectPart.data(), {});
ASSERT_FALSE(engine.isUsable());
ASSERT_FALSE(engine.isRefactoringEngineAvailable());
}
TEST_F(RefactoringEngine, EngineIsNotUsableForUnusableServer)
{
ASSERT_FALSE(engine.isUsable());
ASSERT_FALSE(engine.isRefactoringEngineAvailable());
}
TEST_F(RefactoringEngine, EngineIsUsableForUsableServer)
{
mockRefactoringServer.setUsable(true);
mockRefactoringServer.setAvailable(true);
ASSERT_TRUE(engine.isUsable());
ASSERT_TRUE(engine.isRefactoringEngineAvailable());
}
TEST_F(RefactoringEngine, ServerIsUsableForUsableEngine)
{
engine.setUsable(true);
engine.setRefactoringEngineAvailable(true);
ASSERT_TRUE(mockRefactoringServer.isUsable());
ASSERT_TRUE(mockRefactoringServer.isAvailable());
}
void RefactoringEngine::SetUp()