* 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\Whitespace; use PhpCsFixer\Tests\Test\AbstractFixerTestCase; use PhpCsFixer\WhitespacesFixerConfig; /** * @author Dariusz Rumiński * * @internal * * @covers \PhpCsFixer\Fixer\Whitespace\LineEndingFixer * * @extends AbstractFixerTestCase<\PhpCsFixer\Fixer\Whitespace\LineEndingFixer> */ final class LineEndingFixerTest extends AbstractFixerTestCase { /** * @dataProvider provideFixCases */ public function testFix(string $expected, ?string $input = null): void { $this->doTest($expected, $input); } /** * @return iterable */ public static function provideFixCases(): iterable { yield from self::provideCommonCases(); yield [ " [ "\nZ\r\n\nZ\r\n", ]; yield '!T_CONSTANT_ENCAPSED_STRING' => [ " [ "\n\r\n [ "\n\n\r\n\r\nfixer->setWhitespacesConfig(new WhitespacesFixerConfig("\t", "\r\n")); $this->doTest($expected, $input); } /** * @return iterable */ public static function provideWithWhitespacesConfigCases(): iterable { yield from array_map(static fn (array $case): array => array_reverse($case), self::provideCommonCases()); yield [ " */ private static function provideCommonCases(): array { return [ 'T_OPEN_TAG' => [ " [ " [ " [ " [ " [ "