[clangd] Add a test for SignatureHelp on dynamic index.

Summary: This would catch regressions caused by future changes of the index.

Reviewers: ilya-biryukov

Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits

Differential Revision: https://reviews.llvm.org/D56483

llvm-svn: 350720
This commit is contained in:
Haojian Wu 2019-01-09 13:42:03 +00:00
parent 9697d2a764
commit 0b097b1a8a
1 changed files with 31 additions and 0 deletions

View File

@ -1793,6 +1793,37 @@ TEST(SignatureHelpTest, IndexDocumentation) {
SigDoc("Doc from sema"))));
}
TEST(SignatureHelpTest, DynamicIndexDocumentation) {
MockFSProvider FS;
MockCompilationDatabase CDB;
IgnoreDiagnostics DiagConsumer;
ClangdServer::Options Opts = ClangdServer::optsForTest();
Opts.BuildDynamicSymbolIndex = true;
ClangdServer Server(CDB, FS, DiagConsumer, Opts);
FS.Files[testPath("foo.h")] = R"cpp(
struct Foo {
// Member doc
int foo();
};
)cpp";
Annotations FileContent(R"cpp(
#include "foo.h"
void test() {
Foo f;
f.foo(^);
}
)cpp");
auto File = testPath("test.cpp");
Server.addDocument(File, FileContent.code());
// Wait for the dynamic index being built.
ASSERT_TRUE(Server.blockUntilIdleForTest());
EXPECT_THAT(
llvm::cantFail(runSignatureHelp(Server, File, FileContent.point()))
.signatures,
ElementsAre(AllOf(Sig("foo() -> int", {}), SigDoc("Member doc"))));
}
TEST(CompletionTest, CompletionFunctionArgsDisabled) {
CodeCompleteOptions Opts;
Opts.EnableSnippets = true;