* 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\DoctrineAnnotation; use PhpCsFixer\Tests\AbstractDoctrineAnnotationFixerTestCase; /** * @internal * * @covers \PhpCsFixer\AbstractDoctrineAnnotationFixer * @covers \PhpCsFixer\Doctrine\Annotation\DocLexer * @covers \PhpCsFixer\Fixer\DoctrineAnnotation\DoctrineAnnotationArrayAssignmentFixer * * @extends AbstractDoctrineAnnotationFixerTestCase<\PhpCsFixer\Fixer\DoctrineAnnotation\DoctrineAnnotationArrayAssignmentFixer> * * @phpstan-import-type _AutogeneratedInputConfiguration from \PhpCsFixer\Fixer\DoctrineAnnotation\DoctrineAnnotationArrayAssignmentFixer */ final class DoctrineAnnotationArrayAssignmentFixerTest extends AbstractDoctrineAnnotationFixerTestCase { /** * @dataProvider provideFixCases */ public function testFix(string $expected, ?string $input = null): void { $this->doTest($expected, $input); } /** * @dataProvider provideFixCases */ public function testFixWithEqual(string $expected, ?string $input = null): void { $this->fixer->configure(['operator' => '=']); $this->doTest($expected, $input); } /** * @return iterable */ public static function provideFixCases(): iterable { yield from self::createTestCases([ [' /** * @Foo */', ], [' /** * @Foo() */', ], [' /** * @Foo(bar="baz") */', ], [ ' /** * @Foo({bar="baz"}) */', ' /** * @Foo({bar:"baz"}) */', ], [ ' /** * @Foo({bar = "baz"}) */', ' /** * @Foo({bar : "baz"}) */', ], [' /** * See {@link https://help Help} or {@see BarClass} for details. */', ], ]); yield [ 'fixer->configure(['operator' => ':']); $this->doTest($expected, $input); } /** * @return iterable */ public static function provideFixWithColonCases(): iterable { yield from self::createTestCases([ [' /** * @Foo */', ], [' /** * @Foo() */', ], [ ' /** * @Foo(bar:"baz") */', ], [ ' /** * @Foo({bar:"baz"}) */', ' /** * @Foo({bar="baz"}) */', ], [ ' /** * @Foo({bar : "baz"}) */', ' /** * @Foo({bar = "baz"}) */', ], [ ' /** * @Foo(foo="bar", {bar:"baz"}) */', ' /** * @Foo(foo="bar", {bar="baz"}) */', ], [' /** * See {@link https://help Help} or {@see BarClass} for details. */'], ]); } /** * @dataProvider provideFix81Cases * * @requires PHP 8.1 */ public function testFix81(string $expected, ?string $input = null): void { $this->doTest($expected, $input); } /** * @return iterable */ public static function provideFix81Cases(): iterable { yield [ '