diff options
Diffstat (limited to 'clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp')
-rw-r--r-- | clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp index 6e4322eff5d..4cfb1a2d631 100644 --- a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp +++ b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp @@ -2546,6 +2546,25 @@ TEST(CompletionTest, NamespaceDoubleInsertion) { UnorderedElementsAre(AllOf(Qualifier(""), Named("ABCDE")))); } +TEST(CompletionTest, DerivedMethodsAreAlwaysVisible) { + // Despite the fact that base method matches the ref-qualifier better, + // completion results should only include the derived method. + auto Completions = completions(R"cpp( + struct deque_base { + float size(); + double size() const; + }; + struct deque : deque_base { + int size() const; + }; + + auto x = deque().^ + )cpp") + .Completions; + EXPECT_THAT(Completions, + ElementsAre(AllOf(ReturnType("int"), Named("size")))); +} + TEST(NoCompileCompletionTest, Basic) { auto Results = completionsNoCompile(R"cpp( void func() { |