diff options
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/readability-simplify-bool-expr-chained-conditional-assignment.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/readability-simplify-bool-expr-chained-conditional-assignment.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/readability-simplify-bool-expr-chained-conditional-assignment.cpp b/clang-tools-extra/test/clang-tidy/readability-simplify-bool-expr-chained-conditional-assignment.cpp new file mode 100644 index 00000000000..a4e60263ec7 --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/readability-simplify-bool-expr-chained-conditional-assignment.cpp @@ -0,0 +1,35 @@ +// RUN: $(dirname %s)/check_clang_tidy.sh %s readability-simplify-boolean-expr %t -config="{CheckOptions: [{key: "readability-simplify-boolean-expr.ChainedConditionalAssignment", value: 1}]}" -- +// REQUIRES: shell + +void chained_conditional_compound_assignment(int i) { + bool b; + if (i < 0) { + b = true; + } else if (i < 10) { + b = false; + } else if (i > 20) { + b = true; + } else { + b = false; + } + // CHECK-MESSAGES: :[[@LINE-4]]:9: warning: redundant boolean literal in conditional assignment [readability-simplify-boolean-expr] + // CHECK-FIXES: {{^}} } else if (i < 10) {{{$}} + // CHECK-FIXES-NEXT: {{^}} b = false;{{$}} + // CHECK-FIXES-NEXT: {{^}} } else b = i > 20;{{$}} +} + +void chained_conditional_assignment(int i) { + bool b; + if (i < 0) + b = true; + else if (i < 10) + b = false; + else if (i > 20) + b = true; + else + b = false; + // CHECK-MESSAGES: :[[@LINE-3]]:9: warning: {{.*}} in conditional assignment + // CHECK-FIXES: {{^}} else if (i < 10) + // CHECK-FIXES-NEXT: {{^}} b = false; + // CHECK-FIXES-NEXT: {{^}} else b = i > 20; +} |