/// Check that the ForEachMacros, etc. config entries replace default values instead of appending
/// FIXME: clang-format currently start overriding at index 0 (keeping the remaining
/// values) instead of either appending or completely replacing the values.
/// This behaviour is highly confusing. For now this test documents the current state.
// RUN: clang-format -style="{BasedOnStyle: LLVM}" -dump-config %s | \
// RUN: FileCheck %s --check-prefixes=CHECK,DEFAULT
// RUN: clang-format -style="{BasedOnStyle: LLVM, ForEachMacros: ['OVERRIDE_FOREACH']}" -dump-config %s | \
// RUN: FileCheck %s --check-prefixes=CHECK,OVERRIDE,FIXME-SHOULD-NOT-BE
// RUN: clang-format -style="{BasedOnStyle: LLVM, ForEachMacros: ['M1', 'M2', 'M3', 'M4']}" -dump-config %s | \
// RUN: FileCheck %s --check-prefixes=CHECK,MORE-ENTRIES-THAN-DEFAULT
// CHECK-LABEL: ForEachMacros:
// DEFAULT-NEXT: {{^ }}- foreach
// DEFAULT-NEXT: {{^ }}- Q_FOREACH
// DEFAULT-NEXT: {{^ }}- BOOST_FOREACH
// OVERRIDE-NEXT: {{^ }}- OVERRIDE_FOREACH
// FIXME-SHOULD-NOT-BE-NEXT: {{^ }}- Q_FOREACH
// FIXME-SHOULD-NOT-BE-NEXT: {{^ }}- BOOST_FOREACH
// MORE-ENTRIES-THAN-DEFAULT-NEXT: {{^ }}- M1
// MORE-ENTRIES-THAN-DEFAULT-NEXT: {{^ }}- M2
// MORE-ENTRIES-THAN-DEFAULT-NEXT: {{^ }}- M3
// MORE-ENTRIES-THAN-DEFAULT-NEXT: {{^ }}- M4
// CHECK-NEXT: {{^[F-Z]}}