summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp')
-rw-r--r--clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp19
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() {
OpenPOWER on IntegriCloud