[clangd] Pass ExtraArgs to TestTU in TweakIsAvailable matcher

This commit is contained in:
Kadir Cetinkaya 2019-10-28 07:18:07 +01:00
parent 39eef2cbb6
commit 1a9c01c7f6
No known key found for this signature in database
GPG Key ID: E39E36B8D2057ED6
1 changed files with 4 additions and 2 deletions

View File

@ -13,6 +13,7 @@
#include "refactor/Tweak.h" #include "refactor/Tweak.h"
#include "clang/Tooling/Core/Replacement.h" #include "clang/Tooling/Core/Replacement.h"
#include "llvm/Support/Error.h" #include "llvm/Support/Error.h"
#include "gmock/gmock.h"
namespace clang { namespace clang {
namespace clangd { namespace clangd {
@ -59,7 +60,7 @@ std::pair<unsigned, unsigned> rangeOrPoint(const Annotations &A) {
cantFail(positionToOffset(A.code(), SelectionRng.end))}; cantFail(positionToOffset(A.code(), SelectionRng.end))};
} }
MATCHER_P3(TweakIsAvailable, TweakID, Ctx, Header, MATCHER_P4(TweakIsAvailable, TweakID, Ctx, Header, ExtraArgs,
(TweakID + (negation ? " is unavailable" : " is available")).str()) { (TweakID + (negation ? " is unavailable" : " is available")).str()) {
std::string WrappedCode = wrap(Ctx, arg); std::string WrappedCode = wrap(Ctx, arg);
Annotations Input(WrappedCode); Annotations Input(WrappedCode);
@ -67,6 +68,7 @@ MATCHER_P3(TweakIsAvailable, TweakID, Ctx, Header,
TestTU TU; TestTU TU;
TU.HeaderCode = Header; TU.HeaderCode = Header;
TU.Code = Input.code(); TU.Code = Input.code();
TU.ExtraArgs = ExtraArgs;
ParsedAST AST = TU.build(); ParsedAST AST = TU.build();
Tweak::Selection S(AST, Selection.first, Selection.second); Tweak::Selection S(AST, Selection.first, Selection.second);
auto PrepareResult = prepareTweak(TweakID, S); auto PrepareResult = prepareTweak(TweakID, S);
@ -113,7 +115,7 @@ std::string TweakTest::apply(llvm::StringRef MarkedCode) const {
} }
::testing::Matcher<llvm::StringRef> TweakTest::isAvailable() const { ::testing::Matcher<llvm::StringRef> TweakTest::isAvailable() const {
return TweakIsAvailable(llvm::StringRef(TweakID), Context, Header); return TweakIsAvailable(llvm::StringRef(TweakID), Context, Header, ExtraArgs);
} }
std::vector<std::string> TweakTest::expandCases(llvm::StringRef MarkedCode) { std::vector<std::string> TweakTest::expandCases(llvm::StringRef MarkedCode) {