summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp')
-rw-r--r--clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
index 32ec2321141..8f7f85377b6 100644
--- a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
+++ b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
@@ -1680,6 +1680,31 @@ TEST(CompletionTest, CompletionFunctionArgsDisabled) {
}
}
+TEST(CompletionTest, SuggestOverrides) {
+ constexpr const char *const Text(R"cpp(
+ class A {
+ public:
+ virtual void vfunc(bool param);
+ virtual void vfunc(bool param, int p);
+ void func(bool param);
+ };
+ class B : public A {
+ virtual void ttt(bool param) const;
+ void vfunc(bool param, int p) override;
+ };
+ class C : public B {
+ public:
+ void vfunc(bool param) override;
+ ^
+ };
+ )cpp");
+ const auto Results = completions(Text);
+ EXPECT_THAT(Results.Completions,
+ AllOf(Contains(Labeled("void vfunc(bool param, int p) override")),
+ Contains(Labeled("void ttt(bool param) const override")),
+ Not(Contains(Labeled("void vfunc(bool param) override")))));
+}
+
} // namespace
} // namespace clangd
} // namespace clang
OpenPOWER on IntegriCloud