summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
diff options
context:
space:
mode:
authorEric Liu <ioeric@google.com>2018-01-09 17:32:00 +0000
committerEric Liu <ioeric@google.com>2018-01-09 17:32:00 +0000
commit76f6b44443b3e205a35b8a224c1bfb7aa29ae057 (patch)
tree46a91efe4b1fa3cb98dad5f5170270b5ee166b27 /clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
parent7d9bef8f5cf007af067d668fa1be86edf50e50c2 (diff)
downloadbcm5719-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.cpp15
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
OpenPOWER on IntegriCloud