From 4b71d6dca9e5e34534947e3a1cdcdebb426e9ea4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Machulda?= Date: Tue, 7 May 2024 13:59:55 +0200 Subject: [PATCH] fix: `TrailingCommaInMultilineFixer` - handle trailing comma in language constructs (#7989) --- .../TrailingCommaInMultilineFixer.php | 5 +-- .../TrailingCommaInMultilineFixerTest.php | 32 +++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/Fixer/ControlStructure/TrailingCommaInMultilineFixer.php b/src/Fixer/ControlStructure/TrailingCommaInMultilineFixer.php index d97f61cb2a1..b297fb72303 100644 --- a/src/Fixer/ControlStructure/TrailingCommaInMultilineFixer.php +++ b/src/Fixer/ControlStructure/TrailingCommaInMultilineFixer.php @@ -153,8 +153,9 @@ protected function applyFix(\SplFileInfo $file, Tokens $tokens): void if ( $fixParameters && ( - $tokens[$prevIndex]->isGivenKind(T_STRING) && $tokens[$prevPrevIndex]->isGivenKind(T_FUNCTION) - || $tokens[$prevIndex]->isGivenKind([T_FN, T_FUNCTION]) + $tokens[$prevIndex]->isGivenKind(T_STRING) + && $tokens[$prevPrevIndex]->isGivenKind(T_FUNCTION) + || $tokens[$prevIndex]->isGivenKind([T_FN, T_FUNCTION, T_ISSET, T_UNSET, T_LIST]) ) ) { $this->fixBlock($tokens, $index); diff --git a/tests/Fixer/ControlStructure/TrailingCommaInMultilineFixerTest.php b/tests/Fixer/ControlStructure/TrailingCommaInMultilineFixerTest.php index 86b1de00fa0..13cc52f3684 100644 --- a/tests/Fixer/ControlStructure/TrailingCommaInMultilineFixerTest.php +++ b/tests/Fixer/ControlStructure/TrailingCommaInMultilineFixerTest.php @@ -674,6 +674,38 @@ public static function provideFix80Cases(): iterable ['elements' => [TrailingCommaInMultilineFixer::ELEMENTS_PARAMETERS]], ]; + yield 'function-like language constructs' => [ + ' [TrailingCommaInMultilineFixer::ELEMENTS_PARAMETERS]], + ]; + yield 'match' => [ '