* Dariusz RumiƄski * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace PhpCsFixer\Tests\Fixer\ClassNotation; use PhpCsFixer\Fixer\ClassNotation\OrderedInterfacesFixer; use PhpCsFixer\Tests\Test\AbstractFixerTestCase; /** * @author Dave van der Brugge * * @internal * * @covers \PhpCsFixer\Fixer\ClassNotation\OrderedInterfacesFixer * * @extends AbstractFixerTestCase<\PhpCsFixer\Fixer\ClassNotation\OrderedInterfacesFixer> * * @phpstan-import-type _AutogeneratedInputConfiguration from \PhpCsFixer\Fixer\ClassNotation\OrderedInterfacesFixer */ final class OrderedInterfacesFixerTest extends AbstractFixerTestCase { /** * @dataProvider provideFixCases * * @param _AutogeneratedInputConfiguration $configuration */ public function testFix(string $expected, ?string $input = null, array $configuration = []): void { $this->fixer->configure($configuration); $this->doTest($expected, $input); } public static function provideFixCases(): iterable { yield 'single' => [ ' [ ' [ " [ " [ ' [ ' [ ' [ ' [ ' [ ' [ ' [ ' OrderedInterfacesFixer::DIRECTION_DESCEND], ]; yield 'descend multiple' => [ ' OrderedInterfacesFixer::DIRECTION_DESCEND], ]; yield 'descend mixed' => [ ' OrderedInterfacesFixer::DIRECTION_DESCEND], ]; yield 'length single' => [ ' OrderedInterfacesFixer::ORDER_LENGTH], ]; yield 'length multiple' => [ ' OrderedInterfacesFixer::ORDER_LENGTH], ]; yield 'length mixed' => [ ' OrderedInterfacesFixer::ORDER_LENGTH], ]; yield 'length normalized' => [ ' OrderedInterfacesFixer::ORDER_LENGTH], ]; yield 'length, descend single' => [ ' OrderedInterfacesFixer::ORDER_LENGTH, OrderedInterfacesFixer::OPTION_DIRECTION => OrderedInterfacesFixer::DIRECTION_DESCEND, ], ]; yield 'length, descend multiple' => [ ' OrderedInterfacesFixer::ORDER_LENGTH, OrderedInterfacesFixer::OPTION_DIRECTION => OrderedInterfacesFixer::DIRECTION_DESCEND, ], ]; yield 'length, descend mixed' => [ ' OrderedInterfacesFixer::ORDER_LENGTH, OrderedInterfacesFixer::OPTION_DIRECTION => OrderedInterfacesFixer::DIRECTION_DESCEND, ], ]; yield 'length, descend normalized' => [ ' OrderedInterfacesFixer::ORDER_LENGTH, OrderedInterfacesFixer::OPTION_DIRECTION => OrderedInterfacesFixer::DIRECTION_DESCEND, ], ]; yield 'case sensitive single' => [ ' OrderedInterfacesFixer::ORDER_ALPHA, 'case_sensitive' => true, ], ]; yield 'alpha multiple' => [ ' OrderedInterfacesFixer::ORDER_ALPHA, 'case_sensitive' => true, ], ]; yield 'alpha mixed' => [ ' OrderedInterfacesFixer::ORDER_ALPHA, 'case_sensitive' => true, ], ]; yield 'alpha normalized' => [ ' OrderedInterfacesFixer::ORDER_ALPHA, 'case_sensitive' => true, ], ]; } }