From ec8994a5aac201d2622907da06638b88e96b68ec Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Wed, 14 Feb 2024 10:49:29 +0100 Subject: [PATCH] Fix to use new docblock clearing token api https://github.com/easy-coding-standard/easy-coding-standard/issues/174 --- composer.json | 2 +- .../RemoveUselessDefaultCommentFixer.php | 19 +++++++++++++++---- .../todo_change_autogenerated_comment.php.inc | 1 + .../Fixture/useless_class_comment.php.inc | 9 +++++++-- ...ault_comment_and_statement_indentation.php | 8 ++++++-- tests/bootstrap.php | 2 -- 6 files changed, 30 insertions(+), 11 deletions(-) diff --git a/composer.json b/composer.json index f574321c0..9c73dfb1b 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "require": { "php": ">=8.2", "nette/utils": "^3.2", - "friendsofphp/php-cs-fixer": "^3.45", + "friendsofphp/php-cs-fixer": "^3.49", "symplify/rule-doc-generator-contracts": "^11.1" }, "require-dev": { diff --git a/src/Fixer/Commenting/RemoveUselessDefaultCommentFixer.php b/src/Fixer/Commenting/RemoveUselessDefaultCommentFixer.php index ef1f503e5..15aa3e145 100644 --- a/src/Fixer/Commenting/RemoveUselessDefaultCommentFixer.php +++ b/src/Fixer/Commenting/RemoveUselessDefaultCommentFixer.php @@ -4,6 +4,7 @@ namespace Symplify\CodingStandard\Fixer\Commenting; +use PhpCsFixer\Fixer\Basic\BracesFixer; use PhpCsFixer\FixerDefinition\FixerDefinition; use PhpCsFixer\FixerDefinition\FixerDefinitionInterface; use PhpCsFixer\Tokenizer\Token; @@ -45,6 +46,12 @@ public function isCandidate(Tokens $tokens): bool return $tokens->isAnyTokenKindsFound([T_DOC_COMMENT, T_COMMENT]); } + public function getPriority(): int + { + /** must run before @see BracesFixer to cleanup spaces */ + return 40; + } + /** * @param Tokens $tokens */ @@ -63,13 +70,17 @@ public function fix(SplFileInfo $fileInfo, Tokens $tokens): void $token ); - if ($cleanedDocContent !== '') { - continue; + if ($cleanedDocContent === '') { + // remove token + $tokens->clearTokenAndMergeSurroundingWhitespace($index); } + // if ($cleanedDocContent !== '') { + // continue; + // } + // remove token - $tokens->clearAt($index); - $tokens->removeTrailingWhitespace($index, "\n"); + // $tokens->clearTokenAndMergeSurroundingWhitespace($index); } } diff --git a/tests/Fixer/Commenting/RemoveUselessDefaultCommentFixer/Fixture/todo_change_autogenerated_comment.php.inc b/tests/Fixer/Commenting/RemoveUselessDefaultCommentFixer/Fixture/todo_change_autogenerated_comment.php.inc index 45bbfb3cf..84b83da35 100644 --- a/tests/Fixer/Commenting/RemoveUselessDefaultCommentFixer/Fixture/todo_change_autogenerated_comment.php.inc +++ b/tests/Fixer/Commenting/RemoveUselessDefaultCommentFixer/Fixture/todo_change_autogenerated_comment.php.inc @@ -10,5 +10,6 @@ namespace Symplify\CodingStandard\Tests\Fixer\Commenting\RemovePHPStormTodoComme namespace Symplify\CodingStandard\Tests\Fixer\Commenting\RemovePHPStormTodoCommentFixer\Fixture; + // TODO some other notes ?> diff --git a/tests/Fixer/Commenting/RemoveUselessDefaultCommentFixer/Fixture/useless_class_comment.php.inc b/tests/Fixer/Commenting/RemoveUselessDefaultCommentFixer/Fixture/useless_class_comment.php.inc index 87e95f09f..8679af82b 100644 --- a/tests/Fixer/Commenting/RemoveUselessDefaultCommentFixer/Fixture/useless_class_comment.php.inc +++ b/tests/Fixer/Commenting/RemoveUselessDefaultCommentFixer/Fixture/useless_class_comment.php.inc @@ -1,6 +1,6 @@ rule(RemoveUselessDefaultCommentFixer::class); - $ecsConfig->rule(StatementIndentationFixer::class); + $ecsConfig->rules([ + BracesFixer::class, + RemoveUselessDefaultCommentFixer::class, + StatementIndentationFixer::class, + ]); }; diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 855f0f8d5..a046756d5 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -21,7 +21,6 @@ define('T_ENUM', 5015); } - // required for PHP_CodeSniffer in packages/EasyCodingStandard/tests/* if (! defined('PHP_CODESNIFFER_VERBOSITY')) { define('PHP_CODESNIFFER_VERBOSITY', 0); @@ -29,7 +28,6 @@ new Tokens(); } - // prefer local coding-standard over old, vendor one exec('rm -rf vendor/symplify/easy-coding-standard/vendor/symplify/coding-standard/src'); exec('ln -s $PWD/src vendor/symplify/easy-coding-standard/vendor/symplify/coding-standard/');