Skip to content

Commit dec8d8d

Browse files
committed
[clangd] Add unit tests for comments in system headers
1 parent 86825db commit dec8d8d

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp

+27
Original file line numberDiff line numberDiff line change
@@ -872,6 +872,33 @@ TEST(CompletionTest, Documentation) {
872872
Contains(AllOf(Named("baz"), Doc("Multi-line\nblock comment"))));
873873
}
874874

875+
TEST(CompletionTest, CommentsFromSystemHeaders) {
876+
MockFSProvider FS;
877+
MockCompilationDatabase CDB;
878+
IgnoreDiagnostics DiagConsumer;
879+
880+
auto Opts = ClangdServer::optsForTest();
881+
Opts.BuildDynamicSymbolIndex = true;
882+
883+
ClangdServer Server(CDB, FS, DiagConsumer, Opts);
884+
885+
FS.Files[testPath("foo.h")] = R"cpp(
886+
#pragma GCC system_header
887+
888+
// This comment should be retained!
889+
int foo();
890+
)cpp";
891+
892+
auto Results = completions(Server,
893+
R"cpp(
894+
#include "foo.h"
895+
int x = foo^
896+
)cpp");
897+
EXPECT_THAT(
898+
Results.Completions,
899+
Contains(AllOf(Named("foo"), Doc("This comment should be retained!"))));
900+
}
901+
875902
TEST(CompletionTest, GlobalCompletionFiltering) {
876903

877904
Symbol Class = cls("XYZ");

0 commit comments

Comments
 (0)