From 937b55a10a43321e6e1baedb709f85fe37eee938 Mon Sep 17 00:00:00 2001 From: Rodrigo Primo Date: Thu, 31 Oct 2024 15:14:58 -0300 Subject: [PATCH 1/4] Generic/TraitNameSuffix: cleanup existing tests - Remove redundant tests. - Use proper punctuation in code comments. - Make some tests more descriptive by making the trait name reflect what is being tested. --- .../NamingConventions/TraitNameSuffixUnitTest.inc | 10 ++-------- .../NamingConventions/TraitNameSuffixUnitTest.php | 1 - 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.inc b/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.inc index e807697185..e893964f5d 100644 --- a/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.inc +++ b/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.inc @@ -1,13 +1,7 @@ 1, - 9 => 1, ]; }//end getErrorList() From 7ee83218d366f732c853aafc8309822c3e340824 Mon Sep 17 00:00:00 2001 From: Rodrigo Primo Date: Thu, 31 Oct 2024 15:24:55 -0300 Subject: [PATCH 2/4] Generic/TraitNameSuffix: rename test case file Doing this to be able to create tests with syntax errors on separate files. --- ...nitTest.inc => TraitNameSuffixUnitTest.1.inc} | 0 .../TraitNameSuffixUnitTest.php | 16 ++++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) rename src/Standards/Generic/Tests/NamingConventions/{TraitNameSuffixUnitTest.inc => TraitNameSuffixUnitTest.1.inc} (100%) diff --git a/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.inc b/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.1.inc similarity index 100% rename from src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.inc rename to src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.1.inc diff --git a/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.php b/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.php index c14810c2d2..9c4239073d 100644 --- a/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.php +++ b/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.php @@ -25,13 +25,21 @@ final class TraitNameSuffixUnitTest extends AbstractSniffUnitTest * The key of the array should represent the line number and the value * should represent the number of errors that should occur on that line. * + * @param string $testFile The name of the test file to process. + * * @return array */ - public function getErrorList() + public function getErrorList($testFile='') { - return [ - 3 => 1, - ]; + switch ($testFile) { + case 'TraitNameSuffixUnitTest.1.inc': + return [ + 3 => 1, + ]; + + default: + return []; + } }//end getErrorList() From d9b1b6e3583ffb1cfb7a0149079909bcd45519fe Mon Sep 17 00:00:00 2001 From: Rodrigo Primo Date: Thu, 31 Oct 2024 15:38:17 -0300 Subject: [PATCH 3/4] Generic/TraitNameSuffix: improve code coverage - Add a separate test case file with a live coding/parse error test. - Add a new test with a comment and whitespaces in unexpected places. --- .../Tests/NamingConventions/TraitNameSuffixUnitTest.1.inc | 4 ++++ .../Tests/NamingConventions/TraitNameSuffixUnitTest.2.inc | 7 +++++++ .../Tests/NamingConventions/TraitNameSuffixUnitTest.php | 1 + 3 files changed, 12 insertions(+) create mode 100644 src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.2.inc diff --git a/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.1.inc b/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.1.inc index e893964f5d..e1d4908251 100644 --- a/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.1.inc +++ b/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.1.inc @@ -5,3 +5,7 @@ trait MissingTraitSuffix {} // Error. trait GoodTrait {} trait SuffixCaseIsNotEnforced_tRaIt {} + +trait + /*comment*/ + AnotherInvalidTraitName {} // Error. diff --git a/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.2.inc b/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.2.inc new file mode 100644 index 0000000000..396a3c7bbd --- /dev/null +++ b/src/Standards/Generic/Tests/NamingConventions/TraitNameSuffixUnitTest.2.inc @@ -0,0 +1,7 @@ + 1, + 9 => 1, ]; default: From 54cb911d5d9e33482fa35147bc47bbf849a34484 Mon Sep 17 00:00:00 2001 From: Rodrigo Primo Date: Thu, 31 Oct 2024 15:40:02 -0300 Subject: [PATCH 4/4] Generic/TraitNameSuffix: add inline comment This commit just adds an inline comment documenting why the sniff bails early if there is no trait name. Doing this to follow the same pattern used by other similar sniffs like AbstractClassName https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/8a7ee56347bb4017ffc778a42a532cbb1651a20b/src/Standards/Generic/Sniffs/NamingConventions/AbstractClassNamePrefixSniff.php#L48 --- .../Generic/Sniffs/NamingConventions/TraitNameSuffixSniff.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Standards/Generic/Sniffs/NamingConventions/TraitNameSuffixSniff.php b/src/Standards/Generic/Sniffs/NamingConventions/TraitNameSuffixSniff.php index cbd9651ddf..79a77557d1 100644 --- a/src/Standards/Generic/Sniffs/NamingConventions/TraitNameSuffixSniff.php +++ b/src/Standards/Generic/Sniffs/NamingConventions/TraitNameSuffixSniff.php @@ -40,6 +40,7 @@ public function process(File $phpcsFile, $stackPtr) { $traitName = $phpcsFile->getDeclarationName($stackPtr); if ($traitName === null) { + // Live coding or parse error. Bow out. return; }