diff options
| author | Eric Liu <ioeric@google.com> | 2018-01-09 17:32:00 +0000 |
|---|---|---|
| committer | Eric Liu <ioeric@google.com> | 2018-01-09 17:32:00 +0000 |
| commit | 76f6b44443b3e205a35b8a224c1bfb7aa29ae057 (patch) | |
| tree | 46a91efe4b1fa3cb98dad5f5170270b5ee166b27 /clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp | |
| parent | 7d9bef8f5cf007af067d668fa1be86edf50e50c2 (diff) | |
| download | bcm5719-llvm-76f6b44443b3e205a35b8a224c1bfb7aa29ae057.tar.gz bcm5719-llvm-76f6b44443b3e205a35b8a224c1bfb7aa29ae057.zip | |
[clangd] Add more symbol information for code completion.
Reviewers: hokein, sammccall
Reviewed By: sammccall
Subscribers: klimek, ilya-biryukov, cfe-commits
Differential Revision: https://reviews.llvm.org/D41345
llvm-svn: 322097
Diffstat (limited to 'clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp')
| -rw-r--r-- | clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp index 5f852d0204c..c281415b4ec 100644 --- a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp +++ b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp @@ -68,6 +68,8 @@ MATCHER_P(Named, Name, "") { return arg.insertText == Name; } MATCHER_P(Labeled, Label, "") { return arg.label == Label; } MATCHER_P(Kind, K, "") { return arg.kind == K; } MATCHER_P(Filter, F, "") { return arg.filterText == F; } +MATCHER_P(Doc, D, "") { return arg.documentation == D; } +MATCHER_P(Detail, D, "") { return arg.detail == D; } MATCHER_P(PlainText, Text, "") { return arg.insertTextFormat == clangd::InsertTextFormat::PlainText && arg.insertText == Text; @@ -472,6 +474,7 @@ std::unique_ptr<SymbolIndex> simpleIndexFromSymbols( Sym.Name = QName.substr(Pos + 2); Sym.Scope = QName.substr(0, Pos); } + Sym.CompletionPlainInsertText = Sym.Name; Sym.SymInfo.Kind = Pair.second; Slab.insert(Sym); } @@ -561,13 +564,17 @@ TEST(CompletionTest, ASTIndexMultiFile) { Server .addDocument(Context::empty(), getVirtualTestFilePath("foo.cpp"), R"cpp( - namespace ns { class XYZ {}; void foo() {} } + namespace ns { class XYZ {}; void foo(int x) {} } )cpp") .wait(); auto File = getVirtualTestFilePath("bar.cpp"); Annotations Test(R"cpp( - namespace ns { class XXX {}; void fooooo() {} } + namespace ns { + class XXX {}; + /// Doooc + void fooooo() {} + } void f() { ns::^ } )cpp"); Server.addDocument(Context::empty(), File, Test.code()).wait(); @@ -580,7 +587,9 @@ TEST(CompletionTest, ASTIndexMultiFile) { EXPECT_THAT(Results.items, Has("XYZ", CompletionItemKind::Class)); EXPECT_THAT(Results.items, Has("foo", CompletionItemKind::Function)); EXPECT_THAT(Results.items, Has("XXX", CompletionItemKind::Class)); - EXPECT_THAT(Results.items, Has("fooooo", CompletionItemKind::Function)); + EXPECT_THAT(Results.items, Contains(AllOf(Named("fooooo"), Filter("fooooo"), + Kind(CompletionItemKind::Function), + Doc("Doooc"), Detail("void")))); } } // namespace |

