* 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\FunctionNotation; use PhpCsFixer\Tests\Test\AbstractFixerTestCase; /** * @internal * * @covers \PhpCsFixer\Fixer\FunctionNotation\SingleLineThrowFixer * * @extends AbstractFixerTestCase<\PhpCsFixer\Fixer\FunctionNotation\SingleLineThrowFixer> */ final class SingleLineThrowFixerTest 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 ['exceptionFactory->createAnException("Foo");', 'exceptionFactory ->createAnException( "Foo" );', ]; yield [ 'getExceptionFactory()->createAnException("Foo");', 'getExceptionFactory() ->createAnException( "Foo" );', ]; yield [ 'getExceptionFactory()->createAnException(function ($x, $y) { return $x === $y + 2; });', 'getExceptionFactory() ->createAnException( function ( $x, $y ) { return $x === $y + 2 ; } );', ]; yield [ '', '', ]; } /** * @dataProvider provideFix80Cases * * @requires PHP 8.0 */ public function testFix80(string $expected, ?string $input = null): void { $this->doTest($expected, $input); } /** * @return iterable */ public static function provideFix80Cases(): iterable { yield [ 'getExceptionFactory()?->createAnException("Foo");', 'getExceptionFactory() ?->createAnException( "Foo" );', ]; yield [ ' $function->one(), 2 => $function->two(), default => throw new \NotOneOrTwo() }; ', ]; yield [ ' $function->one(), 2 => throw new Exception("Number 2 is not allowed."), 1 => $function->three(), default => throw new \NotOneOrTwo() }; ', ]; yield [ ' "a", 3 => "b" });', ' "a", 3 => "b" });', ]; yield [ '