123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- <?php
- declare(strict_types=1);
- /*
- * This file is part of PHP CS Fixer.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- * Dariusz Rumiński <dariusz.ruminski@gmail.com>
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
- namespace PhpCsFixer\Tests\Fixer\Phpdoc;
- use PhpCsFixer\Tests\Test\AbstractFixerTestCase;
- /**
- * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
- *
- * @internal
- *
- * @covers \PhpCsFixer\Fixer\Phpdoc\PhpdocAnnotationWithoutDotFixer
- *
- * @extends AbstractFixerTestCase<\PhpCsFixer\Fixer\Phpdoc\PhpdocAnnotationWithoutDotFixer>
- */
- final class PhpdocAnnotationWithoutDotFixerTest extends AbstractFixerTestCase
- {
- /**
- * @dataProvider provideFixCases
- */
- public function testFix(string $expected, ?string $input = null): void
- {
- $this->doTest($expected, $input);
- }
- /**
- * @return iterable<array{0: string, 1?: string}>
- */
- public static function provideFixCases(): iterable
- {
- yield [
- '<?php
- /**
- * Summary.
- *
- * Description.
- *
- * @param string|null $str some string
- * @param string $ip IPv4 is not lowercased
- * @param string $a A
- * @param string $a_string a string
- * @param string $ab ab
- * @param string $t34 T34
- * @param string $s S§
- * @param string $genrb Optional. The path to the "genrb" executable
- * @param string $ellipsis1 Ellipsis is this: ...
- * @param string $ellipsis2 Ellipsis is this: 。。。
- * @param string $ellipsis3 Ellipsis is this: …
- * @param bool $isStr Is it a string?
- * @param int $int Some single-line description. With many dots.
- * @param int $int Some multiline
- * description. With many dots.
- *
- * @return array result array
- *
- * @SomeCustomAnnotation This is important sentence that must not be modified.
- */',
- '<?php
- /**
- * Summary.
- *
- * Description.
- *
- * @param string|null $str Some string.
- * @param string $ip IPv4 is not lowercased.
- * @param string $a A.
- * @param string $a_string A string.
- * @param string $ab Ab.
- * @param string $t34 T34.
- * @param string $s S§.
- * @param string $genrb Optional. The path to the "genrb" executable
- * @param string $ellipsis1 Ellipsis is this: ...
- * @param string $ellipsis2 Ellipsis is this: 。。。
- * @param string $ellipsis3 Ellipsis is this: …
- * @param bool $isStr Is it a string?
- * @param int $int Some single-line description. With many dots.
- * @param int $int Some multiline
- * description. With many dots.
- *
- * @return array Result array。
- *
- * @SomeCustomAnnotation This is important sentence that must not be modified.
- */',
- ];
- yield [
- // invalid char inside line won't crash the fixer
- '<?php
- /**
- * @var string this: '.\chr(174).' is an odd character
- * @var string This: '.\chr(174).' is an odd character 2nd time。
- */',
- '<?php
- /**
- * @var string This: '.\chr(174).' is an odd character.
- * @var string This: '.\chr(174).' is an odd character 2nd time。
- */',
- ];
- yield [
- '<?php
- /**
- * @deprecated since version 2. Use emergency() which is PSR-3 compatible.
- */',
- ];
- yield [
- '<?php
- /**
- * @internal This method is public to be usable as callback. It should not
- * be used in user code.
- */',
- ];
- yield [
- '<?php
- /**
- * @deprecated this is
- * deprecated
- */',
- '<?php
- /**
- * @deprecated This is
- * deprecated.
- */',
- ];
- yield [
- '<?php
- /**
- * @return bool|null returns `true` if the class has a single-column ID
- * and Returns `false` otherwise
- */',
- '<?php
- /**
- * @return bool|null Returns `true` if the class has a single-column ID
- * and Returns `false` otherwise.
- */',
- ];
- yield [
- '<?php
- /**
- * @throws \Exception having whitespaces after dot, yet I am fixed
- */',
- '<?php
- /**
- * @throws \Exception having whitespaces after dot, yet I am fixed. '.'
- */',
- ];
- yield [
- '<?php
- /**
- * @throws \Exception having tabs after dot, yet I am fixed
- */',
- '<?php
- /**
- * @throws \Exception having tabs after dot, yet I am fixed. '.'
- */',
- ];
- yield [
- '<?php
- /**
- * Dispatches an event to all registered listeners.
- *
- * @param string $eventName The name of the event to dispatch. The name of the event is
- * the name of the method that is invoked on listeners.
- * @param EventArgs $eventArgs The event arguments to pass to the event handlers/listeners.
- * If not supplied, the single empty EventArgs instance is used.
- *
- * @return bool
- */
- function dispatchEvent($eventName, EventArgs $eventArgs = null) {}
- /**
- * Extract the `object_to_populate` field from the context if it exists
- * and is an instance of the provided $class.
- *
- * @param string $class The class the object should be
- * @param array $context The denormalization context
- * @param string $key Key in which to look for the object to populate.
- * Keeps backwards compatibility with `AbstractNormalizer`.
- *
- * @return null|object an object if things check out, null otherwise
- */
- function extractObjectToPopulate($class, array $context, $key = null) {}
- ',
- ];
- yield [
- '<?php
- /**
- * This is a broken phpdoc - missing asterisk
- * @param string $str As it is broken, let us not apply the rule to description of parameter.
- */
- function foo($str) {}',
- ];
- yield [
- '<?php
- /**
- * @return bool|null Returns `true` if the class has a single-column ID.
- Returns `false` otherwise.
- That was multilined comment. With plenty of sentenced.
- */
- function nothingToDo() {}',
- ];
- yield [
- '<?php
- /**
- * @param string $bar τάχιστη
- */
- function foo ($bar) {}
- ',
- '<?php
- /**
- * @param string $bar Τάχιστη.
- */
- function foo ($bar) {}
- ',
- ];
- }
- }
|