summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp')
-rw-r--r--clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp b/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
index ef73519ef13..1fdd5488814 100644
--- a/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
+++ b/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
@@ -266,6 +266,33 @@ TEST(DiagnosticsTest, ClangTidy) {
));
}
+TEST(DiagnosticTest, NoMultipleDiagnosticInFlight) {
+ Annotations Main(R"cpp(
+ template <typename T> struct Foo {
+ T *begin();
+ T *end();
+ };
+ struct LabelInfo {
+ int a;
+ bool b;
+ };
+
+ void f() {
+ Foo<LabelInfo> label_info_map;
+ [[for]] (auto it = label_info_map.begin(); it != label_info_map.end(); ++it) {
+ auto S = *it;
+ }
+ }
+ )cpp");
+ TestTU TU = TestTU::withCode(Main.code());
+ TU.ClangTidyChecks = "modernize-loop-convert";
+ EXPECT_THAT(
+ TU.build().getDiagnostics(),
+ UnorderedElementsAre(::testing::AllOf(
+ Diag(Main.range(), "use range-based for loop instead"),
+ DiagSource(Diag::ClangTidy), DiagName("modernize-loop-convert"))));
+}
+
TEST(DiagnosticTest, ClangTidySuppressionComment) {
Annotations Main(R"cpp(
int main() {
OpenPOWER on IntegriCloud