From: Kadir Cetinkaya Date: Tue, 11 Sep 2018 15:12:10 +0000 (+0000) Subject: [clangd] Add unittests for D51917 X-Git-Tag: llvmorg-8.0.0-rc1~8988 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=873cae5ae7efdbe9fdfe7b7ffba923516b7d14af;p=platform%2Fupstream%2Fllvm.git [clangd] Add unittests for D51917 Reviewers: ilya-biryukov Reviewed By: ilya-biryukov Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D51924 llvm-svn: 341950 --- diff --git a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp index c101003..248dab8 100644 --- a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp +++ b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp @@ -1967,6 +1967,45 @@ TEST(SignatureHelpTest, InsideArgument) { } } +TEST(SignatureHelpTest, ConstructorInitializeFields) { + { + const auto Results = signatures(R"cpp( + struct A { + A(int); + }; + struct B { + B() : a_elem(^) {} + A a_elem; + }; + )cpp"); + EXPECT_THAT(Results.signatures, UnorderedElementsAre( + Sig("A(int)", {"int"}), + Sig("A(A &&)", {"A &&"}), + Sig("A(const A &)", {"const A &"}) + )); + } + { + const auto Results = signatures(R"cpp( + struct A { + A(int); + }; + struct C { + C(int); + C(A); + }; + struct B { + B() : c_elem(A(1^)) {} + C c_elem; + }; + )cpp"); + EXPECT_THAT(Results.signatures, UnorderedElementsAre( + Sig("A(int)", {"int"}), + Sig("A(A &&)", {"A &&"}), + Sig("A(const A &)", {"const A &"}) + )); + } +} + } // namespace } // namespace clangd } // namespace clang