From 4287c8c5ca7f1071882651d44b72f1c9248b9f56 Mon Sep 17 00:00:00 2001 From: Rodrigo Primo Date: Tue, 9 Jan 2024 11:05:50 -0300 Subject: [PATCH 1/3] Generic/UnnecessaryFinalModifier: rename test case file Doing this to be able to create a test with a syntax error on a separate file. --- ...=> UnnecessaryFinalModifierUnitTest.1.inc} | 0 .../UnnecessaryFinalModifierUnitTest.php | 25 ++++++++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) rename src/Standards/Generic/Tests/CodeAnalysis/{UnnecessaryFinalModifierUnitTest.inc => UnnecessaryFinalModifierUnitTest.1.inc} (100%) diff --git a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.inc b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.1.inc similarity index 100% rename from src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.inc rename to src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.1.inc diff --git a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php index c35634258c..8ee5f3b3c0 100644 --- a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php +++ b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php @@ -41,18 +41,25 @@ public function getErrorList() * The key of the array should represent the line number and the value * should represent the number of warnings that should occur on that line. * + * @param string $testFile The name of the test file being tested. + * * @return array */ - public function getWarningList() + public function getWarningList($testFile='') { - return [ - 11 => 1, - 12 => 1, - 15 => 1, - 18 => 1, - 32 => 1, - 33 => 1, - ]; + switch ($testFile) { + case 'UnnecessaryFinalModifierUnitTest.1.inc': + return [ + 11 => 1, + 12 => 1, + 15 => 1, + 18 => 1, + 32 => 1, + 33 => 1, + ]; + default: + return []; + } }//end getWarningList() From 4b699bada97bd74d343e2860a46709e7468d09c0 Mon Sep 17 00:00:00 2001 From: Rodrigo Primo Date: Tue, 9 Jan 2024 11:43:13 -0300 Subject: [PATCH 2/3] Generic/UnnecessaryFinalModifier: improve code coverage This commit add one more test case file to exercise defensive code that makes the sniff bail early if the class has no body. --- .../CodeAnalysis/UnnecessaryFinalModifierUnitTest.2.inc | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.2.inc diff --git a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.2.inc b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.2.inc new file mode 100644 index 0000000000..d3636f4800 --- /dev/null +++ b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.2.inc @@ -0,0 +1,5 @@ + Date: Fri, 12 Jan 2024 09:55:40 -0300 Subject: [PATCH 3/3] Generic/UnnecessaryFinalModifier: add tests for final class constants --- .../UnnecessaryFinalModifierUnitTest.1.inc | 22 +++++++++++++++++++ .../UnnecessaryFinalModifierUnitTest.php | 2 ++ 2 files changed, 24 insertions(+) diff --git a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.1.inc b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.1.inc index 026cf48424..d217d07367 100644 --- a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.1.inc +++ b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.1.inc @@ -32,3 +32,25 @@ final readonly class Foo_Bar { public final function fooBar() {} final protected function fool() {} } + +final class Final_Class_Final_Constants { + final public const FINAL_PUBLIC_CONST = 23; + protected final const FINAL_PROTECTED_CONST = 'foo'; +} + +final class Final_Class_Regular_Constants { + public const PUBLIC_CONST = 23; + protected const PROTECTED_CONST = 'foo'; + private const PRIVATE_CONST = true; +} + +class Regular_Class_Final_Constants { + public final const FINAL_PUBLIC_CONST = 23; + final protected const FINAL_PROTECTED_CONST = 'foo'; +} + +class Regular_Class_Regular_Constants { + public const PUBLIC_CONST = 23; + protected const PROTECTED_CONST = 'foo'; + private const PRIVATE_CONST = true; +} diff --git a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php index 8ee5f3b3c0..6557db4348 100644 --- a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php +++ b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php @@ -56,6 +56,8 @@ public function getWarningList($testFile='') 18 => 1, 32 => 1, 33 => 1, + 37 => 1, + 38 => 1, ]; default: return [];