From: Ilya Biryukov Date: Thu, 7 Nov 2019 08:59:36 +0000 (+0100) Subject: [clangd] Add unit tests for comments in system headers X-Git-Tag: llvmorg-11-init~4826 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dec8d8d3f205268712a928d106ff2e6f799f7a9b;p=platform%2Fupstream%2Fllvm.git [clangd] Add unit tests for comments in system headers --- diff --git a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp index 20f8989..02d7750 100644 --- a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp +++ b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp @@ -872,6 +872,33 @@ TEST(CompletionTest, Documentation) { 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");