[clang-format] Add a test showing the current config file list parsing

Currently clang-format starts overriding the default values at index 0
(keeping the existing values) instead of appending or replacing all values.
This patch simply checks the current (IMO surprising) behaviour and does
not attempt to change it.

Reviewed By: MyDeveloperDay

Differential Revision: https://reviews.llvm.org/D86941
This commit is contained in:
Alex Richardson 2020-09-04 16:11:48 +01:00
parent 8c810acc94
commit e0ff5a8410
1 changed files with 24 additions and 0 deletions

View File

@ -0,0 +1,24 @@
/// 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]}}