Contains(AllOf(Named("baz"), Doc("Multi-line\nblock comment"))));
}
+TEST(CompletionTest, CommentsFromSystemHeaders) {
+ MockFSProvider FS;
+ MockCompilationDatabase CDB;
+ IgnoreDiagnostics DiagConsumer;
+
+ auto Opts = ClangdServer::optsForTest();
+ Opts.BuildDynamicSymbolIndex = true;
+
+ ClangdServer Server(CDB, FS, DiagConsumer, Opts);
+
+ FS.Files[testPath("foo.h")] = R"cpp(
+ #pragma GCC system_header
+
+ // This comment should be retained!
+ int foo();
+ )cpp";
+
+ auto Results = completions(Server,
+ R"cpp(
+#include "foo.h"
+int x = foo^
+ )cpp");
+ EXPECT_THAT(
+ Results.Completions,
+ Contains(AllOf(Named("foo"), Doc("This comment should be retained!"))));
+}
+
TEST(CompletionTest, GlobalCompletionFiltering) {
Symbol Class = cls("XYZ");