diff options
Diffstat (limited to 'clang/unittests/Tooling/RefactoringActionRulesTest.cpp')
-rw-r--r-- | clang/unittests/Tooling/RefactoringActionRulesTest.cpp | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/clang/unittests/Tooling/RefactoringActionRulesTest.cpp b/clang/unittests/Tooling/RefactoringActionRulesTest.cpp index 132a3a44963..f0b6466fec4 100644 --- a/clang/unittests/Tooling/RefactoringActionRulesTest.cpp +++ b/clang/unittests/Tooling/RefactoringActionRulesTest.cpp @@ -10,7 +10,8 @@ #include "ReplacementTest.h" #include "RewriterTestContext.h" #include "clang/Tooling/Refactoring.h" -#include "clang/Tooling/Refactoring/RefactoringActionRules.h" +#include "clang/Tooling/Refactoring/Extract/Extract.h" +#include "clang/Tooling/Refactoring/RefactoringAction.h" #include "clang/Tooling/Refactoring/RefactoringDiagnostic.h" #include "clang/Tooling/Refactoring/Rename/SymbolName.h" #include "clang/Tooling/Tooling.h" @@ -63,6 +64,12 @@ TEST_F(RefactoringActionRulesTest, MyFirstRefactoringRule) { ReplaceAWithB(std::pair<SourceRange, int> Selection) : Selection(Selection) {} + static Expected<ReplaceAWithB> + initiate(RefactoringRuleContext &Cotnext, + std::pair<SourceRange, int> Selection) { + return ReplaceAWithB(Selection); + } + Expected<AtomicChanges> createSourceReplacements(RefactoringRuleContext &Context) { const SourceManager &SM = Context.getSources(); @@ -141,6 +148,11 @@ TEST_F(RefactoringActionRulesTest, MyFirstRefactoringRule) { TEST_F(RefactoringActionRulesTest, ReturnError) { class ErrorRule : public SourceChangeRefactoringRule { public: + static Expected<ErrorRule> initiate(RefactoringRuleContext &, + SourceRange R) { + return ErrorRule(R); + } + ErrorRule(SourceRange R) {} Expected<AtomicChanges> createSourceReplacements(RefactoringRuleContext &) { return llvm::make_error<llvm::StringError>( @@ -191,6 +203,11 @@ TEST_F(RefactoringActionRulesTest, ReturnSymbolOccurrences) { public: FindOccurrences(SourceRange Selection) : Selection(Selection) {} + static Expected<FindOccurrences> initiate(RefactoringRuleContext &, + SourceRange Selection) { + return FindOccurrences(Selection); + } + Expected<SymbolOccurrences> findSymbolOccurrences(RefactoringRuleContext &) override { SymbolOccurrences Occurrences; @@ -219,4 +236,13 @@ TEST_F(RefactoringActionRulesTest, ReturnSymbolOccurrences) { SourceRange(Cursor, Cursor.getLocWithOffset(strlen("test")))); } +TEST_F(RefactoringActionRulesTest, EditorCommandBinding) { + const RefactoringDescriptor &Descriptor = ExtractFunction::describe(); + EXPECT_EQ(Descriptor.Name, "extract-function"); + EXPECT_EQ( + Descriptor.Description, + "(WIP action; use with caution!) Extracts code into a new function"); + EXPECT_EQ(Descriptor.Title, "Extract Function"); +} + } // end anonymous namespace |