Author: Sam McCall Date: 2020-10-19T16:45:51+02:00 New Revision: cf814fcd3939a705f8bdf67bcf54cbf821aa6f75
URL: https://github.com/llvm/llvm-project/commit/cf814fcd3939a705f8bdf67bcf54cbf821aa6f75 DIFF: https://github.com/llvm/llvm-project/commit/cf814fcd3939a705f8bdf67bcf54cbf821aa6f75.diff LOG: [clangd] Add test for structured-binding completion. NFC Added: Modified: clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp index 510f358920c1..15576eddf76e 100644 --- a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp +++ b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp @@ -2579,6 +2579,29 @@ TEST(CompletionTest, Lambda) { EXPECT_EQ(A.SnippetSuffix, "(${1:int a}, ${2:const double &b})"); } +TEST(CompletionTest, StructuredBinding) { + clangd::CodeCompleteOptions Opts = {}; + + auto Results = completions(R"cpp( + struct S { + using Float = float; + int x; + Float y; + }; + void function() { + const auto &[xxx, yyy] = S{}; + yyy^ + } + )cpp", + {}, Opts); + + ASSERT_EQ(Results.Completions.size(), 1u); + const auto &A = Results.Completions.front(); + EXPECT_EQ(A.Name, "yyy"); + EXPECT_EQ(A.Kind, CompletionItemKind::Variable); + EXPECT_EQ(A.ReturnType, "const Float"); +} + TEST(CompletionTest, ObjectiveCMethodNoArguments) { auto Results = completions(R"objc( @interface Foo _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits