Browse Source

DX: fix Unsafe call to private method errors reported by PHPStan (#6879)

Dariusz Rumiński 1 year ago
parent
commit
11bc3fb4e9

+ 0 - 1
phpstan.neon

@@ -13,7 +13,6 @@ parameters:
     treatPhpDocTypesAsCertain: false
     treatPhpDocTypesAsCertain: false
     ignoreErrors:
     ignoreErrors:
         - '/^Class [a-zA-Z\\]+ extends @final class PhpCsFixer\\(ConfigurationException\\InvalidConfigurationException|ConfigurationException\\InvalidFixerConfigurationException|Tokenizer\\Tokens)\.$/'
         - '/^Class [a-zA-Z\\]+ extends @final class PhpCsFixer\\(ConfigurationException\\InvalidConfigurationException|ConfigurationException\\InvalidFixerConfigurationException|Tokenizer\\Tokens)\.$/'
-        - '/^Unsafe call to private method PhpCsFixer\\Tests\\[a-zA-Z\\]+::[a-zA-Z]+\(\) through static::\.$/'
         - '/^\$this\(PhpCsFixer\\Tokenizer\\Tokens\) does not accept PhpCsFixer\\Tokenizer\\Token\|null\.$/'
         - '/^\$this\(PhpCsFixer\\Tokenizer\\Tokens\) does not accept PhpCsFixer\\Tokenizer\\Token\|null\.$/'
 
 
         # ignore PHPUnit data providers return type as they are not checked against the test methods anyway
         # ignore PHPUnit data providers return type as they are not checked against the test methods anyway

+ 7 - 7
tests/RuleSet/Sets/AbstractSetTest.php

@@ -67,10 +67,16 @@ abstract class AbstractSetTest extends TestCase
         }
         }
     }
     }
 
 
+    protected static function assertSanityString(string $string): void
+    {
+        static::assertSame(trim($string), $string);
+        static::assertNotSame('', $string);
+    }
+
     /**
     /**
      * @param array<string, array<string, mixed>|bool> $setRules
      * @param array<string, array<string, mixed>|bool> $setRules
      */
      */
-    private static function assertRules(array $setRules, FixerFactory $factory, string $setName): void
+    protected static function assertRules(array $setRules, FixerFactory $factory, string $setName): void
     {
     {
         $sawRule = false;
         $sawRule = false;
 
 
@@ -92,12 +98,6 @@ abstract class AbstractSetTest extends TestCase
         static::assertSame($setRulesSorted, $setRules);
         static::assertSame($setRulesSorted, $setRules);
     }
     }
 
 
-    private static function assertSanityString(string $string): void
-    {
-        static::assertSame(trim($string), $string);
-        static::assertNotSame('', $string);
-    }
-
     private static function getSet(): RuleSetDescriptionInterface
     private static function getSet(): RuleSetDescriptionInterface
     {
     {
         $setClassName = preg_replace('/^(PhpCsFixer)\\\\Tests(\\\\.+)Test$/', '$1$2', static::class);
         $setClassName = preg_replace('/^(PhpCsFixer)\\\\Tests(\\\\.+)Test$/', '$1$2', static::class);

+ 5 - 5
tests/Test/AbstractFixerTestCase.php

@@ -450,6 +450,11 @@ abstract class AbstractFixerTestCase extends TestCase
         return null;
         return null;
     }
     }
 
 
+    protected static function assertCorrectCasing(string $needle, string $haystack, string $message): void
+    {
+        static::assertSame(substr_count(strtolower($haystack), strtolower($needle)), substr_count($haystack, $needle), $message);
+    }
+
     private function getLinter(): LinterInterface
     private function getLinter(): LinterInterface
     {
     {
         static $linter = null;
         static $linter = null;
@@ -472,11 +477,6 @@ abstract class AbstractFixerTestCase extends TestCase
         static::assertFalse(strpos($descriptionType, '``'), sprintf('[%s] The %s must no contain sequential backticks.', $fixerName, $descriptionType));
         static::assertFalse(strpos($descriptionType, '``'), sprintf('[%s] The %s must no contain sequential backticks.', $fixerName, $descriptionType));
     }
     }
 
 
-    private static function assertCorrectCasing(string $needle, string $haystack, string $message): void
-    {
-        static::assertSame(substr_count(strtolower($haystack), strtolower($needle)), substr_count($haystack, $needle), $message);
-    }
-
     /**
     /**
      * @param list<array{0: int, 1?: string}> $sequence
      * @param list<array{0: int, 1?: string}> $sequence
      *
      *

+ 2 - 2
tests/Test/AbstractIntegrationTestCase.php

@@ -210,7 +210,7 @@ abstract class AbstractIntegrationTestCase extends TestCase
         }
         }
 
 
         $errorsManager = new ErrorsManager();
         $errorsManager = new ErrorsManager();
-        $fixers = static::createFixers($case);
+        $fixers = self::createFixers($case);
         $runner = new Runner(
         $runner = new Runner(
             new \ArrayIterator([new \SplFileInfo($tmpFile)]),
             new \ArrayIterator([new \SplFileInfo($tmpFile)]),
             $fixers,
             $fixers,
@@ -315,7 +315,7 @@ abstract class AbstractIntegrationTestCase extends TestCase
                     static function (FixerInterface $fixer): int {
                     static function (FixerInterface $fixer): int {
                         return $fixer->getPriority();
                         return $fixer->getPriority();
                     },
                     },
-                    static::createFixers($case)
+                    self::createFixers($case)
                 ))),
                 ))),
                 sprintf(
                 sprintf(
                     'Rules priorities are not differential enough. If rules would be used in reverse order then final output would be different than the expected one. For that, different priorities must be set up for used rules to ensure stable order of them. In "%s".',
                     'Rules priorities are not differential enough. If rules would be used in reverse order then final output would be different than the expected one. For that, different priorities must be set up for used rules to ensure stable order of them. In "%s".',

+ 1 - 1
tests/Test/Assert/AssertTokensTrait.php

@@ -24,7 +24,7 @@ use PhpCsFixer\Tokenizer\Tokens;
  */
  */
 trait AssertTokensTrait
 trait AssertTokensTrait
 {
 {
-    private static function assertTokens(Tokens $expectedTokens, Tokens $inputTokens): void
+    protected static function assertTokens(Tokens $expectedTokens, Tokens $inputTokens): void
     {
     {
         foreach ($expectedTokens as $index => $expectedToken) {
         foreach ($expectedTokens as $index => $expectedToken) {
             if (!isset($inputTokens[$index])) {
             if (!isset($inputTokens[$index])) {

+ 2 - 2
tests/Tokenizer/TokensTest.php

@@ -1280,7 +1280,7 @@ $bar;',
         $tokens->overrideRange($indexStart, $indexEnd, $items);
         $tokens->overrideRange($indexStart, $indexEnd, $items);
         $tokens->clearEmptyTokens();
         $tokens->clearEmptyTokens();
 
 
-        self::assertTokens(Tokens::fromArray($expected), $tokens);
+        static::assertTokens(Tokens::fromArray($expected), $tokens);
     }
     }
 
 
     /**
     /**
@@ -1295,7 +1295,7 @@ $bar;',
         $tokens->overrideRange($indexStart, $indexEnd, $items);
         $tokens->overrideRange($indexStart, $indexEnd, $items);
         $tokens->clearEmptyTokens();
         $tokens->clearEmptyTokens();
 
 
-        self::assertTokens(Tokens::fromArray($expected), $tokens);
+        static::assertTokens(Tokens::fromArray($expected), $tokens);
     }
     }
 
 
     public static function provideOverrideRangeCases(): iterable
     public static function provideOverrideRangeCases(): iterable

+ 2 - 2
tests/Tokenizer/Transformer/NameQualifiedTransformerTest.php

@@ -50,7 +50,7 @@ final class NameQualifiedTransformerTest extends AbstractTransformerTestCase
             $this->transformer->process($tokens, $tokens[$i], $i);
             $this->transformer->process($tokens, $tokens[$i], $i);
         }
         }
 
 
-        self::assertTokens($expectedTokens, $tokens);
+        static::assertTokens($expectedTokens, $tokens);
 
 
         if (null === $input) {
         if (null === $input) {
             static::assertFalse($tokens->isChanged());
             static::assertFalse($tokens->isChanged());
@@ -161,7 +161,7 @@ final class NameQualifiedTransformerTest extends AbstractTransformerTestCase
      */
      */
     public function testPriority(array $expected, string $source): void
     public function testPriority(array $expected, string $source): void
     {
     {
-        self::assertTokens(Tokens::fromArray($expected), Tokens::fromCode($source));
+        static::assertTokens(Tokens::fromArray($expected), Tokens::fromCode($source));
     }
     }
 
 
     public static function providePriorityCases(): iterable
     public static function providePriorityCases(): iterable