Updated Rector to commit b4eb417407360b419e71eaa7609209a1597441e2

b4eb417407 Remove ReturnArrayClassMethodToYieldRector, add to PHPUnit Rector (#4213)
This commit is contained in:
Tomas Votruba 2023-06-13 16:24:24 +00:00
parent 914f995971
commit 5712e3dd40
23 changed files with 139 additions and 228 deletions

View File

@ -1,4 +1,4 @@
# 370 Rules Overview
# 368 Rules Overview
<br>
@ -8,7 +8,7 @@
- [CodeQuality](#codequality) (71)
- [CodingStyle](#codingstyle) (34)
- [CodingStyle](#codingstyle) (32)
- [DeadCode](#deadcode) (43)
@ -2004,47 +2004,6 @@ Use ++$value or --$value instead of `$value++` or `$value--`
<br>
### PreferThisOrSelfMethodCallRector
Changes `$this->...` and static:: to self:: or vise versa for given types
:wrench: **configure it!**
- class: [`Rector\CodingStyle\Rector\MethodCall\PreferThisOrSelfMethodCallRector`](../rules/CodingStyle/Rector/MethodCall/PreferThisOrSelfMethodCallRector.php)
```php
<?php
declare(strict_types=1);
use PHPUnit\Framework\TestCase;
use Rector\CodingStyle\Rector\MethodCall\PreferThisOrSelfMethodCallRector;
use Rector\Config\RectorConfig;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->ruleWithConfiguration(PreferThisOrSelfMethodCallRector::class, [
TestCase::class => 'prefer_self',
]);
};
```
```diff
use PHPUnit\Framework\TestCase;
final class SomeClass extends TestCase
{
public function run()
{
- $this->assertEquals('a', 'a');
+ self::assertEquals('a', 'a');
}
}
```
<br>
### RemoveFinalFromConstRector
Remove final from constants in classes defined as final
@ -2061,49 +2020,6 @@ Remove final from constants in classes defined as final
<br>
### ReturnArrayClassMethodToYieldRector
Turns array return to yield return in specific type and method
:wrench: **configure it!**
- class: [`Rector\CodingStyle\Rector\ClassMethod\ReturnArrayClassMethodToYieldRector`](../rules/CodingStyle/Rector/ClassMethod/ReturnArrayClassMethodToYieldRector.php)
```php
<?php
declare(strict_types=1);
use Rector\CodingStyle\Rector\ClassMethod\ReturnArrayClassMethodToYieldRector;
use Rector\CodingStyle\ValueObject\ReturnArrayClassMethodToYield;
use Rector\Config\RectorConfig;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->ruleWithConfiguration(ReturnArrayClassMethodToYieldRector::class, [
new ReturnArrayClassMethodToYield('PHPUnit\Framework\TestCase', '*provide*'),
]);
};
```
```diff
use PHPUnit\Framework\TestCase;
final class SomeTest implements TestCase
{
public static function provideData()
{
- return [
- ['some text']
- ];
+ yield ['some text'];
}
}
```
<br>
### SeparateMultiUseImportsRector
Split multi use imports and trait statements to standalone lines

View File

@ -3,16 +3,15 @@
declare (strict_types=1);
namespace Rector\NodeTypeResolver\NodeTypeResolver;
use PHPStan\Reflection\ClassReflection;
use PHPStan\Type\ObjectType;
use PhpParser\Node;
use PhpParser\Node\Stmt\ClassConst;
use PhpParser\Node\Stmt\ClassMethod;
use PHPStan\Reflection\ClassReflection;
use PHPStan\Type\ObjectType;
use PHPStan\Type\ObjectWithoutClassType;
use PHPStan\Type\Type;
use Rector\Core\Reflection\ReflectionResolver;
use Rector\NodeTypeResolver\Contract\NodeTypeResolverInterface;
use Rector\NodeTypeResolver\NodeTypeResolver;
use RectorPrefix202306\Symfony\Contracts\Service\Attribute\Required;
/**
* @implements NodeTypeResolverInterface<ClassMethod|ClassConst>

View File

@ -1,34 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\CodingStyle\ValueObject;
use PHPStan\Type\ObjectType;
use Rector\Core\Validation\RectorAssert;
final class ReturnArrayClassMethodToYield
{
/**
* @readonly
* @var string
*/
private $type;
/**
* @readonly
* @var string
*/
private $method;
public function __construct(string $type, string $method)
{
$this->type = $type;
$this->method = $method;
RectorAssert::className($type);
}
public function getObjectType() : ObjectType
{
return new ObjectType($this->type);
}
public function getMethod() : string
{
return $this->method;
}
}

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = 'fd3c90cb6434670821709fb556f42d55247c3024';
public const PACKAGE_VERSION = 'b4eb417407360b419e71eaa7609209a1597441e2';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2023-06-13 20:49:02';
public const RELEASE_DATE = '2023-06-13 16:19:45';
/**
* @var int
*/

View File

@ -17,6 +17,9 @@ use Rector\Core\Exception\ShouldNotHappenException;
use Rector\Core\Util\StringUtils;
use Rector\Core\ValueObject\SprintfStringAndArgs;
use Rector\NodeTypeResolver\Node\AttributeKey;
/**
* @api used in phpunit
*/
final class NodeTransformer
{
/**
@ -25,7 +28,7 @@ final class NodeTransformer
*/
private const PERCENT_TEXT_REGEX = '#^%\\w$#';
/**
* @api symfony
* @api used in phpunit symfony
*
* From:
* - sprintf("Hi %s", $name);

2
vendor/autoload.php vendored
View File

@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit4d107198729b80233f7764afa811445a::getLoader();
return ComposerAutoloaderInitcd5f3d0e402afc71925a1564afc7644a::getLoader();

View File

@ -1464,7 +1464,6 @@ return array(
'Rector\\CodingStyle\\Rector\\ClassMethod\\FuncGetArgsToVariadicParamRector' => $baseDir . '/rules/CodingStyle/Rector/ClassMethod/FuncGetArgsToVariadicParamRector.php',
'Rector\\CodingStyle\\Rector\\ClassMethod\\MakeInheritedMethodVisibilitySameAsParentRector' => $baseDir . '/rules/CodingStyle/Rector/ClassMethod/MakeInheritedMethodVisibilitySameAsParentRector.php',
'Rector\\CodingStyle\\Rector\\ClassMethod\\NewlineBeforeNewAssignSetRector' => $baseDir . '/rules/CodingStyle/Rector/ClassMethod/NewlineBeforeNewAssignSetRector.php',
'Rector\\CodingStyle\\Rector\\ClassMethod\\ReturnArrayClassMethodToYieldRector' => $baseDir . '/rules/CodingStyle/Rector/ClassMethod/ReturnArrayClassMethodToYieldRector.php',
'Rector\\CodingStyle\\Rector\\ClassMethod\\UnSpreadOperatorRector' => $baseDir . '/rules/CodingStyle/Rector/ClassMethod/UnSpreadOperatorRector.php',
'Rector\\CodingStyle\\Rector\\Class_\\AddArrayDefaultToArrayPropertyRector' => $baseDir . '/rules/CodingStyle/Rector/Class_/AddArrayDefaultToArrayPropertyRector.php',
'Rector\\CodingStyle\\Rector\\Closure\\StaticClosureRector' => $baseDir . '/rules/CodingStyle/Rector/Closure/StaticClosureRector.php',
@ -1490,7 +1489,6 @@ return array(
'Rector\\CodingStyle\\Reflection\\VendorLocationDetector' => $baseDir . '/rules/CodingStyle/Reflection/VendorLocationDetector.php',
'Rector\\CodingStyle\\TypeAnalyzer\\IterableTypeAnalyzer' => $baseDir . '/rules/CodingStyle/TypeAnalyzer/IterableTypeAnalyzer.php',
'Rector\\CodingStyle\\ValueObject\\ObjectMagicMethods' => $baseDir . '/rules/CodingStyle/ValueObject/ObjectMagicMethods.php',
'Rector\\CodingStyle\\ValueObject\\ReturnArrayClassMethodToYield' => $baseDir . '/rules/CodingStyle/ValueObject/ReturnArrayClassMethodToYield.php',
'Rector\\Comments\\CommentRemover' => $baseDir . '/packages/Comments/CommentRemover.php',
'Rector\\Comments\\NodeDocBlock\\DocBlockUpdater' => $baseDir . '/packages/Comments/NodeDocBlock/DocBlockUpdater.php',
'Rector\\Comments\\NodeTraverser\\CommentRemovingNodeTraverser' => $baseDir . '/packages/Comments/NodeTraverser/CommentRemovingNodeTraverser.php',
@ -2102,9 +2100,11 @@ return array(
'Rector\\PHPStanStaticTypeMapper\\Utils\\TypeUnwrapper' => $baseDir . '/packages/PHPStanStaticTypeMapper/Utils/TypeUnwrapper.php',
'Rector\\PHPStanStaticTypeMapper\\ValueObject\\UnionTypeAnalysis' => $baseDir . '/packages/PHPStanStaticTypeMapper/ValueObject/UnionTypeAnalysis.php',
'Rector\\PHPUnit\\Naming\\TestClassNameResolver' => $vendorDir . '/rector/rector-phpunit/src/Naming/TestClassNameResolver.php',
'Rector\\PHPUnit\\NodeAnalyzer\\ArgumentMover' => $vendorDir . '/rector/rector-phpunit/src/NodeAnalyzer/ArgumentMover.php',
'Rector\\PHPUnit\\NodeAnalyzer\\AssertCallAnalyzer' => $vendorDir . '/rector/rector-phpunit/src/NodeAnalyzer/AssertCallAnalyzer.php',
'Rector\\PHPUnit\\NodeAnalyzer\\IdentifierManipulator' => $vendorDir . '/rector/rector-phpunit/src/NodeAnalyzer/IdentifierManipulator.php',
'Rector\\PHPUnit\\NodeAnalyzer\\MockedVariableAnalyzer' => $vendorDir . '/rector/rector-phpunit/src/NodeAnalyzer/MockedVariableAnalyzer.php',
'Rector\\PHPUnit\\NodeAnalyzer\\ParamAndArgFromArrayResolver' => $vendorDir . '/rector/rector-phpunit/src/NodeAnalyzer/ParamAndArgFromArrayResolver.php',
'Rector\\PHPUnit\\NodeAnalyzer\\SetUpMethodDecorator' => $vendorDir . '/rector/rector-phpunit/src/NodeAnalyzer/SetUpMethodDecorator.php',
'Rector\\PHPUnit\\NodeAnalyzer\\TestsNodeAnalyzer' => $vendorDir . '/rector/rector-phpunit/src/NodeAnalyzer/TestsNodeAnalyzer.php',
'Rector\\PHPUnit\\NodeFactory\\ArgumentShiftingFactory' => $vendorDir . '/rector/rector-phpunit/src/NodeFactory/ArgumentShiftingFactory.php',
@ -2116,8 +2116,6 @@ return array(
'Rector\\PHPUnit\\NodeFactory\\ExpectExceptionMessageRegExpFactory' => $vendorDir . '/rector/rector-phpunit/src/NodeFactory/ExpectExceptionMessageRegExpFactory.php',
'Rector\\PHPUnit\\NodeFactory\\ExpectExceptionMethodCallFactory' => $vendorDir . '/rector/rector-phpunit/src/NodeFactory/ExpectExceptionMethodCallFactory.php',
'Rector\\PHPUnit\\NodeFinder\\DataProviderClassMethodFinder' => $vendorDir . '/rector/rector-phpunit/src/NodeFinder/DataProviderClassMethodFinder.php',
'Rector\\PHPUnit\\NodeManipulator\\ArgumentMover' => $vendorDir . '/rector/rector-phpunit/src/NodeManipulator/ArgumentMover.php',
'Rector\\PHPUnit\\NodeManipulator\\ParamAndArgFromArrayResolver' => $vendorDir . '/rector/rector-phpunit/src/NodeManipulator/ParamAndArgFromArrayResolver.php',
'Rector\\PHPUnit\\PhpDoc\\DataProviderMethodRenamer' => $vendorDir . '/rector/rector-phpunit/src/PhpDoc/DataProviderMethodRenamer.php',
'Rector\\PHPUnit\\PhpDoc\\PhpDocValueToNodeMapper' => $vendorDir . '/rector/rector-phpunit/src/PhpDoc/PhpDocValueToNodeMapper.php',
'Rector\\PHPUnit\\Rector\\ClassMethod\\AddDoesNotPerformAssertionToNonAssertingTestRector' => $vendorDir . '/rector/rector-phpunit/src/Rector/ClassMethod/AddDoesNotPerformAssertionToNonAssertingTestRector.php',
@ -2140,6 +2138,7 @@ return array(
'Rector\\PHPUnit\\Rector\\Class_\\RemoveDataProviderTestPrefixRector' => $vendorDir . '/rector/rector-phpunit/src/Rector/Class_/RemoveDataProviderTestPrefixRector.php',
'Rector\\PHPUnit\\Rector\\Class_\\StaticDataProviderClassMethodRector' => $vendorDir . '/rector/rector-phpunit/src/Rector/Class_/StaticDataProviderClassMethodRector.php',
'Rector\\PHPUnit\\Rector\\Class_\\TestListenerToHooksRector' => $vendorDir . '/rector/rector-phpunit/src/Rector/Class_/TestListenerToHooksRector.php',
'Rector\\PHPUnit\\Rector\\Class_\\YieldDataProviderRector' => $vendorDir . '/rector/rector-phpunit/src/Rector/Class_/YieldDataProviderRector.php',
'Rector\\PHPUnit\\Rector\\Foreach_\\SimplifyForeachInstanceOfRector' => $vendorDir . '/rector/rector-phpunit/src/Rector/Foreach_/SimplifyForeachInstanceOfRector.php',
'Rector\\PHPUnit\\Rector\\MethodCall\\AssertCompareToSpecificMethodRector' => $vendorDir . '/rector/rector-phpunit/src/Rector/MethodCall/AssertCompareToSpecificMethodRector.php',
'Rector\\PHPUnit\\Rector\\MethodCall\\AssertComparisonToSpecificMethodRector' => $vendorDir . '/rector/rector-phpunit/src/Rector/MethodCall/AssertComparisonToSpecificMethodRector.php',

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit4d107198729b80233f7764afa811445a
class ComposerAutoloaderInitcd5f3d0e402afc71925a1564afc7644a
{
private static $loader;
@ -22,17 +22,17 @@ class ComposerAutoloaderInit4d107198729b80233f7764afa811445a
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit4d107198729b80233f7764afa811445a', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInitcd5f3d0e402afc71925a1564afc7644a', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit4d107198729b80233f7764afa811445a', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitcd5f3d0e402afc71925a1564afc7644a', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit4d107198729b80233f7764afa811445a::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInitcd5f3d0e402afc71925a1564afc7644a::getInitializer($loader));
$loader->setClassMapAuthoritative(true);
$loader->register(true);
$filesToLoad = \Composer\Autoload\ComposerStaticInit4d107198729b80233f7764afa811445a::$files;
$filesToLoad = \Composer\Autoload\ComposerStaticInitcd5f3d0e402afc71925a1564afc7644a::$files;
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInit4d107198729b80233f7764afa811445a
class ComposerStaticInitcd5f3d0e402afc71925a1564afc7644a
{
public static $files = array (
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
@ -1715,7 +1715,6 @@ class ComposerStaticInit4d107198729b80233f7764afa811445a
'Rector\\CodingStyle\\Rector\\ClassMethod\\FuncGetArgsToVariadicParamRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/ClassMethod/FuncGetArgsToVariadicParamRector.php',
'Rector\\CodingStyle\\Rector\\ClassMethod\\MakeInheritedMethodVisibilitySameAsParentRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/ClassMethod/MakeInheritedMethodVisibilitySameAsParentRector.php',
'Rector\\CodingStyle\\Rector\\ClassMethod\\NewlineBeforeNewAssignSetRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/ClassMethod/NewlineBeforeNewAssignSetRector.php',
'Rector\\CodingStyle\\Rector\\ClassMethod\\ReturnArrayClassMethodToYieldRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/ClassMethod/ReturnArrayClassMethodToYieldRector.php',
'Rector\\CodingStyle\\Rector\\ClassMethod\\UnSpreadOperatorRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/ClassMethod/UnSpreadOperatorRector.php',
'Rector\\CodingStyle\\Rector\\Class_\\AddArrayDefaultToArrayPropertyRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/Class_/AddArrayDefaultToArrayPropertyRector.php',
'Rector\\CodingStyle\\Rector\\Closure\\StaticClosureRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/Closure/StaticClosureRector.php',
@ -1741,7 +1740,6 @@ class ComposerStaticInit4d107198729b80233f7764afa811445a
'Rector\\CodingStyle\\Reflection\\VendorLocationDetector' => __DIR__ . '/../..' . '/rules/CodingStyle/Reflection/VendorLocationDetector.php',
'Rector\\CodingStyle\\TypeAnalyzer\\IterableTypeAnalyzer' => __DIR__ . '/../..' . '/rules/CodingStyle/TypeAnalyzer/IterableTypeAnalyzer.php',
'Rector\\CodingStyle\\ValueObject\\ObjectMagicMethods' => __DIR__ . '/../..' . '/rules/CodingStyle/ValueObject/ObjectMagicMethods.php',
'Rector\\CodingStyle\\ValueObject\\ReturnArrayClassMethodToYield' => __DIR__ . '/../..' . '/rules/CodingStyle/ValueObject/ReturnArrayClassMethodToYield.php',
'Rector\\Comments\\CommentRemover' => __DIR__ . '/../..' . '/packages/Comments/CommentRemover.php',
'Rector\\Comments\\NodeDocBlock\\DocBlockUpdater' => __DIR__ . '/../..' . '/packages/Comments/NodeDocBlock/DocBlockUpdater.php',
'Rector\\Comments\\NodeTraverser\\CommentRemovingNodeTraverser' => __DIR__ . '/../..' . '/packages/Comments/NodeTraverser/CommentRemovingNodeTraverser.php',
@ -2353,9 +2351,11 @@ class ComposerStaticInit4d107198729b80233f7764afa811445a
'Rector\\PHPStanStaticTypeMapper\\Utils\\TypeUnwrapper' => __DIR__ . '/../..' . '/packages/PHPStanStaticTypeMapper/Utils/TypeUnwrapper.php',
'Rector\\PHPStanStaticTypeMapper\\ValueObject\\UnionTypeAnalysis' => __DIR__ . '/../..' . '/packages/PHPStanStaticTypeMapper/ValueObject/UnionTypeAnalysis.php',
'Rector\\PHPUnit\\Naming\\TestClassNameResolver' => __DIR__ . '/..' . '/rector/rector-phpunit/src/Naming/TestClassNameResolver.php',
'Rector\\PHPUnit\\NodeAnalyzer\\ArgumentMover' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeAnalyzer/ArgumentMover.php',
'Rector\\PHPUnit\\NodeAnalyzer\\AssertCallAnalyzer' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeAnalyzer/AssertCallAnalyzer.php',
'Rector\\PHPUnit\\NodeAnalyzer\\IdentifierManipulator' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeAnalyzer/IdentifierManipulator.php',
'Rector\\PHPUnit\\NodeAnalyzer\\MockedVariableAnalyzer' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeAnalyzer/MockedVariableAnalyzer.php',
'Rector\\PHPUnit\\NodeAnalyzer\\ParamAndArgFromArrayResolver' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeAnalyzer/ParamAndArgFromArrayResolver.php',
'Rector\\PHPUnit\\NodeAnalyzer\\SetUpMethodDecorator' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeAnalyzer/SetUpMethodDecorator.php',
'Rector\\PHPUnit\\NodeAnalyzer\\TestsNodeAnalyzer' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeAnalyzer/TestsNodeAnalyzer.php',
'Rector\\PHPUnit\\NodeFactory\\ArgumentShiftingFactory' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeFactory/ArgumentShiftingFactory.php',
@ -2367,8 +2367,6 @@ class ComposerStaticInit4d107198729b80233f7764afa811445a
'Rector\\PHPUnit\\NodeFactory\\ExpectExceptionMessageRegExpFactory' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeFactory/ExpectExceptionMessageRegExpFactory.php',
'Rector\\PHPUnit\\NodeFactory\\ExpectExceptionMethodCallFactory' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeFactory/ExpectExceptionMethodCallFactory.php',
'Rector\\PHPUnit\\NodeFinder\\DataProviderClassMethodFinder' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeFinder/DataProviderClassMethodFinder.php',
'Rector\\PHPUnit\\NodeManipulator\\ArgumentMover' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeManipulator/ArgumentMover.php',
'Rector\\PHPUnit\\NodeManipulator\\ParamAndArgFromArrayResolver' => __DIR__ . '/..' . '/rector/rector-phpunit/src/NodeManipulator/ParamAndArgFromArrayResolver.php',
'Rector\\PHPUnit\\PhpDoc\\DataProviderMethodRenamer' => __DIR__ . '/..' . '/rector/rector-phpunit/src/PhpDoc/DataProviderMethodRenamer.php',
'Rector\\PHPUnit\\PhpDoc\\PhpDocValueToNodeMapper' => __DIR__ . '/..' . '/rector/rector-phpunit/src/PhpDoc/PhpDocValueToNodeMapper.php',
'Rector\\PHPUnit\\Rector\\ClassMethod\\AddDoesNotPerformAssertionToNonAssertingTestRector' => __DIR__ . '/..' . '/rector/rector-phpunit/src/Rector/ClassMethod/AddDoesNotPerformAssertionToNonAssertingTestRector.php',
@ -2391,6 +2389,7 @@ class ComposerStaticInit4d107198729b80233f7764afa811445a
'Rector\\PHPUnit\\Rector\\Class_\\RemoveDataProviderTestPrefixRector' => __DIR__ . '/..' . '/rector/rector-phpunit/src/Rector/Class_/RemoveDataProviderTestPrefixRector.php',
'Rector\\PHPUnit\\Rector\\Class_\\StaticDataProviderClassMethodRector' => __DIR__ . '/..' . '/rector/rector-phpunit/src/Rector/Class_/StaticDataProviderClassMethodRector.php',
'Rector\\PHPUnit\\Rector\\Class_\\TestListenerToHooksRector' => __DIR__ . '/..' . '/rector/rector-phpunit/src/Rector/Class_/TestListenerToHooksRector.php',
'Rector\\PHPUnit\\Rector\\Class_\\YieldDataProviderRector' => __DIR__ . '/..' . '/rector/rector-phpunit/src/Rector/Class_/YieldDataProviderRector.php',
'Rector\\PHPUnit\\Rector\\Foreach_\\SimplifyForeachInstanceOfRector' => __DIR__ . '/..' . '/rector/rector-phpunit/src/Rector/Foreach_/SimplifyForeachInstanceOfRector.php',
'Rector\\PHPUnit\\Rector\\MethodCall\\AssertCompareToSpecificMethodRector' => __DIR__ . '/..' . '/rector/rector-phpunit/src/Rector/MethodCall/AssertCompareToSpecificMethodRector.php',
'Rector\\PHPUnit\\Rector\\MethodCall\\AssertComparisonToSpecificMethodRector' => __DIR__ . '/..' . '/rector/rector-phpunit/src/Rector/MethodCall/AssertComparisonToSpecificMethodRector.php',
@ -3093,9 +3092,9 @@ class ComposerStaticInit4d107198729b80233f7764afa811445a
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit4d107198729b80233f7764afa811445a::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit4d107198729b80233f7764afa811445a::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit4d107198729b80233f7764afa811445a::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInitcd5f3d0e402afc71925a1564afc7644a::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitcd5f3d0e402afc71925a1564afc7644a::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitcd5f3d0e402afc71925a1564afc7644a::$classMap;
}, null, ClassLoader::class);
}

View File

@ -2053,12 +2053,12 @@
"source": {
"type": "git",
"url": "https:\/\/github.com\/rectorphp\/rector-phpunit.git",
"reference": "be9009cf24cc991bc321a4152bc0ec1a7d4fb4f1"
"reference": "2d6ed1024c0d623a2fa3df80c2bca7fceb111b3d"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-phpunit\/zipball\/be9009cf24cc991bc321a4152bc0ec1a7d4fb4f1",
"reference": "be9009cf24cc991bc321a4152bc0ec1a7d4fb4f1",
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-phpunit\/zipball\/2d6ed1024c0d623a2fa3df80c2bca7fceb111b3d",
"reference": "2d6ed1024c0d623a2fa3df80c2bca7fceb111b3d",
"shasum": ""
},
"require": {
@ -2087,7 +2087,7 @@
"tomasvotruba\/type-coverage": "^0.1",
"tomasvotruba\/unused-public": "^0.1"
},
"time": "2023-06-12T11:38:48+00:00",
"time": "2023-06-13T16:17:56+00:00",
"default-branch": true,
"type": "rector-extension",
"extra": {

File diff suppressed because one or more lines are too long

View File

@ -9,7 +9,7 @@ namespace Rector\RectorInstaller;
*/
final class GeneratedConfig
{
public const EXTENSIONS = array('rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 9f8970b'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main bd2b260'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main be9009c'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 563f555'));
public const EXTENSIONS = array('rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 9f8970b'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main bd2b260'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 2d6ed10'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 563f555'));
private function __construct()
{
}

View File

@ -3,18 +3,16 @@
declare (strict_types=1);
namespace RectorPrefix202306;
use Rector\CodingStyle\Rector\ClassMethod\ReturnArrayClassMethodToYieldRector;
use Rector\CodingStyle\ValueObject\ReturnArrayClassMethodToYield;
use Rector\Config\RectorConfig;
use Rector\PHPUnit\Rector\Class_\AddSeeTestAnnotationRector;
use Rector\PHPUnit\Rector\Class_\ConstructClassMethodToSetUpTestCaseRector;
use Rector\PHPUnit\Rector\Class_\PreferPHPUnitThisCallRector;
use Rector\PHPUnit\Rector\Class_\YieldDataProviderRector;
use Rector\PHPUnit\Rector\MethodCall\AssertCompareToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertComparisonToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertEqualsToSameRector;
use Rector\PHPUnit\Rector\MethodCall\AssertSameTrueFalseToAssertTrueFalseRector;
use Rector\PHPUnit\Rector\MethodCall\RemoveExpectAnyFromMockRector;
return static function (RectorConfig $rectorConfig) : void {
$rectorConfig->rules([RemoveExpectAnyFromMockRector::class, AddSeeTestAnnotationRector::class, ConstructClassMethodToSetUpTestCaseRector::class, AssertSameTrueFalseToAssertTrueFalseRector::class, AssertEqualsToSameRector::class, AssertCompareToSpecificMethodRector::class, AssertComparisonToSpecificMethodRector::class, PreferPHPUnitThisCallRector::class]);
$rectorConfig->ruleWithConfiguration(ReturnArrayClassMethodToYieldRector::class, [new ReturnArrayClassMethodToYield('PHPUnit\\Framework\\TestCase', 'provide*'), new ReturnArrayClassMethodToYield('PHPUnit\\Framework\\TestCase', 'dataProvider*')]);
$rectorConfig->rules([RemoveExpectAnyFromMockRector::class, AddSeeTestAnnotationRector::class, ConstructClassMethodToSetUpTestCaseRector::class, AssertSameTrueFalseToAssertTrueFalseRector::class, AssertEqualsToSameRector::class, AssertCompareToSpecificMethodRector::class, AssertComparisonToSpecificMethodRector::class, PreferPHPUnitThisCallRector::class, YieldDataProviderRector::class]);
};

View File

@ -1,11 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202306;
use Rector\CodingStyle\Rector\ClassMethod\ReturnArrayClassMethodToYieldRector;
use Rector\CodingStyle\ValueObject\ReturnArrayClassMethodToYield;
use Rector\Config\RectorConfig;
return static function (RectorConfig $rectorConfig) : void {
$rectorConfig->ruleWithConfiguration(ReturnArrayClassMethodToYieldRector::class, [new ReturnArrayClassMethodToYield('PHPUnit\\Framework\\TestCase', 'provide*'), new ReturnArrayClassMethodToYield('PHPUnit\\Framework\\TestCase', 'dataProvider*')]);
};

View File

@ -17,16 +17,14 @@ use Rector\TypeDeclaration\ValueObject\AddParamTypeDeclaration;
use Rector\TypeDeclaration\ValueObject\AddReturnTypeDeclaration;
return static function (RectorConfig $rectorConfig) : void {
$rectorConfig->import(__DIR__ . '/phpunit-exception.php');
$rectorConfig->ruleWithConfiguration(AddParamTypeDeclarationRector::class, [
// https://github.com/rectorphp/rector/issues/1024 - no type, $dataName
new AddParamTypeDeclaration('PHPUnit\\Framework\\TestCase', MethodName::CONSTRUCT, 2, new MixedType()),
]);
$rectorConfig->rule(SpecificAssertContainsRector::class);
$rectorConfig->rule(SpecificAssertInternalTypeRector::class);
$rectorConfig->rules([SpecificAssertInternalTypeRector::class, AssertEqualsParameterToSpecificMethodsTypeRector::class, SpecificAssertContainsRector::class]);
$rectorConfig->ruleWithConfiguration(RenameClassRector::class, [
# https://github.com/sebastianbergmann/phpunit/issues/3123
'PHPUnit_Framework_MockObject_MockObject' => 'PHPUnit\\Framework\\MockObject\\MockObject',
]);
$rectorConfig->rule(AssertEqualsParameterToSpecificMethodsTypeRector::class);
$rectorConfig->ruleWithConfiguration(AddParamTypeDeclarationRector::class, [
// https://github.com/rectorphp/rector/issues/1024 - no type, $dataName
new AddParamTypeDeclaration('PHPUnit\\Framework\\TestCase', MethodName::CONSTRUCT, 2, new MixedType()),
]);
$rectorConfig->ruleWithConfiguration(AddReturnTypeDeclarationRector::class, [new AddReturnTypeDeclaration('PHPUnit\\Framework\\TestCase', 'setUpBeforeClass', new VoidType()), new AddReturnTypeDeclaration('PHPUnit\\Framework\\TestCase', 'setUp', new VoidType()), new AddReturnTypeDeclaration('PHPUnit\\Framework\\TestCase', 'assertPreConditions', new VoidType()), new AddReturnTypeDeclaration('PHPUnit\\Framework\\TestCase', 'assertPostConditions', new VoidType()), new AddReturnTypeDeclaration('PHPUnit\\Framework\\TestCase', 'tearDown', new VoidType()), new AddReturnTypeDeclaration('PHPUnit\\Framework\\TestCase', 'tearDownAfterClass', new VoidType()), new AddReturnTypeDeclaration('PHPUnit\\Framework\\TestCase', 'onNotSuccessfulTest', new VoidType())]);
};

View File

@ -1,7 +1,7 @@
<?php
declare (strict_types=1);
namespace Rector\PHPUnit\NodeManipulator;
namespace Rector\PHPUnit\NodeAnalyzer;
use PhpParser\Node\Expr\MethodCall;
use PhpParser\Node\Expr\StaticCall;
@ -10,7 +10,7 @@ final class ArgumentMover
/**
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $node
*/
public function removeFirst($node) : void
public function removeFirstArg($node) : void
{
if ($node->isFirstClassCallable()) {
return;

View File

@ -1,7 +1,7 @@
<?php
declare (strict_types=1);
namespace Rector\PHPUnit\NodeManipulator;
namespace Rector\PHPUnit\NodeAnalyzer;
use PhpParser\Node\Expr\Array_;
use PhpParser\Node\Expr\ArrayItem;

View File

@ -3,13 +3,20 @@
declare (strict_types=1);
namespace Rector\PHPUnit\NodeFinder;
use PhpParser\Node\Attribute;
use PhpParser\Node\AttributeGroup;
use PhpParser\Node\Name\FullyQualified;
use PhpParser\Node\Param;
use PhpParser\Node\Scalar\String_;
use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassMethod;
use PHPStan\PhpDocParser\Ast\PhpDoc\GenericTagValueNode;
use PHPStan\Reflection\ClassReflection;
use RectorPrefix202306\PHPUnit\Framework\Attributes\DataProvider;
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory;
use Rector\Core\PhpParser\AstResolver;
use Rector\Core\Reflection\ReflectionResolver;
use Rector\NodeNameResolver\NodeNameResolver;
final class DataProviderClassMethodFinder
{
/**
@ -27,11 +34,17 @@ final class DataProviderClassMethodFinder
* @var \Rector\Core\PhpParser\AstResolver
*/
private $astResolver;
public function __construct(PhpDocInfoFactory $phpDocInfoFactory, ReflectionResolver $reflectionResolver, AstResolver $astResolver)
/**
* @readonly
* @var \Rector\NodeNameResolver\NodeNameResolver
*/
private $nodeNameResolver;
public function __construct(PhpDocInfoFactory $phpDocInfoFactory, ReflectionResolver $reflectionResolver, AstResolver $astResolver, NodeNameResolver $nodeNameResolver)
{
$this->phpDocInfoFactory = $phpDocInfoFactory;
$this->reflectionResolver = $reflectionResolver;
$this->astResolver = $astResolver;
$this->nodeNameResolver = $nodeNameResolver;
}
/**
* @return ClassMethod[]
@ -56,11 +69,14 @@ final class DataProviderClassMethodFinder
return $dataProviderClassMethods;
}
/**
* @api
* @return string[]
*/
public function findDataProviderNamesForClassMethod(ClassMethod $classMethod) : array
{
$dataProviderAttributes = $this->findAttributesByClass($classMethod, DataProvider::class);
if ($dataProviderAttributes !== []) {
return $this->resolveAttributeMethodNames($dataProviderAttributes);
}
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($classMethod);
$dataProviderTagValueNodes = $phpDocInfo->getTagsByName('dataProvider');
if ($dataProviderTagValueNodes === []) {
@ -75,6 +91,27 @@ final class DataProviderClassMethodFinder
}
return $dataProviderMethodNames;
}
/**
* @param class-string $attributeClass
* @return Attribute[]
*/
public function findAttributesByClass(ClassMethod $classMethod, string $attributeClass) : array
{
$foundAttributes = [];
/** @var AttributeGroup $attrGroup */
foreach ($classMethod->attrGroups as $attrGroup) {
foreach ($attrGroup->attrs as $attribute) {
if (!$attribute->name instanceof FullyQualified) {
continue;
}
if (!$this->nodeNameResolver->isName($attribute->name, $attributeClass)) {
continue;
}
$foundAttributes[] = $attribute;
}
}
return $foundAttributes;
}
/**
* @return string[]
*/
@ -114,4 +151,20 @@ final class DataProviderClassMethodFinder
}
return $parentClasses;
}
/**
* @param Attribute[] $dataProviderAttributes
* @return string[]
*/
private function resolveAttributeMethodNames(array $dataProviderAttributes) : array
{
$dataProviderMethodNames = [];
foreach ($dataProviderAttributes as $dataProviderAttribute) {
$methodName = $dataProviderAttribute->args[0]->value;
if (!$methodName instanceof String_) {
continue;
}
$dataProviderMethodNames[] = $methodName->value;
}
return $dataProviderMethodNames;
}
}

View File

@ -22,9 +22,9 @@ use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
use Rector\Core\Exception\ShouldNotHappenException;
use Rector\Core\Rector\AbstractRector;
use Rector\PHPStanStaticTypeMapper\Enum\TypeKind;
use Rector\PHPUnit\NodeAnalyzer\ParamAndArgFromArrayResolver;
use Rector\PHPUnit\NodeAnalyzer\TestsNodeAnalyzer;
use Rector\PHPUnit\NodeFactory\DataProviderClassMethodFactory;
use Rector\PHPUnit\NodeManipulator\ParamAndArgFromArrayResolver;
use Rector\PHPUnit\ValueObject\ArrayArgumentToDataProvider;
use Rector\PHPUnit\ValueObject\DataProviderClassMethodRecipe;
use Rector\PHPUnit\ValueObject\ParamAndArg;
@ -45,7 +45,7 @@ final class ArrayArgumentToDataProviderRector extends AbstractRector implements
private $dataProviderClassMethodFactory;
/**
* @readonly
* @var \Rector\PHPUnit\NodeManipulator\ParamAndArgFromArrayResolver
* @var \Rector\PHPUnit\NodeAnalyzer\ParamAndArgFromArrayResolver
*/
private $paramAndArgFromArrayResolver;
/**

View File

@ -1,29 +1,29 @@
<?php
declare (strict_types=1);
namespace Rector\CodingStyle\Rector\ClassMethod;
namespace Rector\PHPUnit\Rector\Class_;
use PhpParser\Node;
use PhpParser\Node\Expr\Array_;
use PhpParser\Node\Name\FullyQualified;
use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassMethod;
use PhpParser\Node\Stmt\Return_;
use PHPStan\PhpDocParser\Ast\PhpDoc\ReturnTagValueNode;
use Rector\CodingStyle\ValueObject\ReturnArrayClassMethodToYield;
use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
use Rector\Core\PhpParser\NodeTransformer;
use Rector\Core\Rector\AbstractRector;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\ConfiguredCodeSample;
use Rector\PHPUnit\NodeAnalyzer\TestsNodeAnalyzer;
use Rector\PHPUnit\NodeFinder\DataProviderClassMethodFinder;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
use RectorPrefix202306\Webmozart\Assert\Assert;
/**
* @changelog https://medium.com/tech-tajawal/use-memory-gently-with-yield-in-php-7e62e2480b8d
* @changelog https://3v4l.org/5PJid
*
* @see \Rector\Tests\CodingStyle\Rector\ClassMethod\ReturnArrayClassMethodToYieldRector\ReturnArrayClassMethodToYieldRectorTest
* @see \Rector\PHPUnit\Tests\Rector\Class_\YieldDataProviderRector\YieldDataProviderRectorTest
*/
final class ReturnArrayClassMethodToYieldRector extends AbstractRector implements ConfigurableRectorInterface
final class YieldDataProviderRector extends AbstractRector
{
/**
* @readonly
@ -31,16 +31,24 @@ final class ReturnArrayClassMethodToYieldRector extends AbstractRector implement
*/
private $nodeTransformer;
/**
* @var ReturnArrayClassMethodToyield[]
* @readonly
* @var \Rector\PHPUnit\NodeAnalyzer\TestsNodeAnalyzer
*/
private $methodsToYields = [];
public function __construct(NodeTransformer $nodeTransformer)
private $testsNodeAnalyzer;
/**
* @readonly
* @var \Rector\PHPUnit\NodeFinder\DataProviderClassMethodFinder
*/
private $dataProviderClassMethodFinder;
public function __construct(NodeTransformer $nodeTransformer, TestsNodeAnalyzer $testsNodeAnalyzer, DataProviderClassMethodFinder $dataProviderClassMethodFinder)
{
$this->nodeTransformer = $nodeTransformer;
$this->testsNodeAnalyzer = $testsNodeAnalyzer;
$this->dataProviderClassMethodFinder = $dataProviderClassMethodFinder;
}
public function getRuleDefinition() : RuleDefinition
{
return new RuleDefinition('Turns array return to yield return in specific type and method', [new ConfiguredCodeSample(<<<'CODE_SAMPLE'
return new RuleDefinition('Turns array return to yield in data providers', [new CodeSample(<<<'CODE_SAMPLE'
use PHPUnit\Framework\TestCase;
final class SomeTest implements TestCase
@ -64,55 +72,42 @@ final class SomeTest implements TestCase
}
}
CODE_SAMPLE
, [new ReturnArrayClassMethodToYield('PHPUnit\\Framework\\TestCase', '*provide*')])]);
)]);
}
/**
* @return array<class-string<Node>>
*/
public function getNodeTypes() : array
{
return [ClassMethod::class];
return [Class_::class];
}
/**
* @param ClassMethod $node
* @param Class_ $node
*/
public function refactor(Node $node) : ?Node
{
if ($node->stmts === null) {
if (!$this->testsNodeAnalyzer->isInTestClass($node)) {
return null;
}
$hasChanged = \false;
foreach ($this->methodsToYields as $methodToYield) {
if (!$this->isName($node, $methodToYield->getMethod())) {
continue;
}
if (!$this->isObjectType($node, $methodToYield->getObjectType())) {
continue;
}
$arrayNode = $this->collectReturnArrayNodesFromClassMethod($node);
if (!$arrayNode instanceof Array_) {
$dataProviderClassMethods = $this->dataProviderClassMethodFinder->find($node);
foreach ($dataProviderClassMethods as $dataProviderClassMethod) {
$array = $this->collectReturnArrayNodesFromClassMethod($dataProviderClassMethod);
if (!$array instanceof Array_) {
continue;
}
// keep comments of 1st array item
$firstComment = $node->stmts[0]->getAttribute(AttributeKey::COMMENTS);
$this->transformArrayToYieldsOnMethodNode($node, $arrayNode);
$this->transformArrayToYieldsOnMethodNode($dataProviderClassMethod, $array);
$hasChanged = \true;
if (\is_array($firstComment)) {
$node->stmts[0]->setAttribute(AttributeKey::COMMENTS, \array_merge($firstComment, (array) $node->stmts[0]->getAttribute(AttributeKey::COMMENTS)));
}
$hasChanged = \true;
}
if (!$hasChanged) {
return null;
if ($hasChanged) {
return $node;
}
return $node;
}
/**
* @param mixed[] $configuration
*/
public function configure(array $configuration) : void
{
Assert::allIsAOf($configuration, ReturnArrayClassMethodToYield::class);
$this->methodsToYields = $configuration;
return null;
}
private function collectReturnArrayNodesFromClassMethod(ClassMethod $classMethod) : ?Array_
{
@ -123,7 +118,7 @@ CODE_SAMPLE
if ($statement instanceof Return_) {
$returnedExpr = $statement->expr;
if (!$returnedExpr instanceof Array_) {
continue;
return null;
}
return $returnedExpr;
}

View File

@ -8,9 +8,9 @@ use PhpParser\Node\Expr\ConstFetch;
use PhpParser\Node\Expr\MethodCall;
use PhpParser\Node\Expr\StaticCall;
use Rector\Core\Rector\AbstractRector;
use Rector\PHPUnit\NodeAnalyzer\ArgumentMover;
use Rector\PHPUnit\NodeAnalyzer\IdentifierManipulator;
use Rector\PHPUnit\NodeAnalyzer\TestsNodeAnalyzer;
use Rector\PHPUnit\NodeManipulator\ArgumentMover;
use Rector\PHPUnit\ValueObject\ConstantWithAssertMethods;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
@ -26,7 +26,7 @@ final class AssertSameBoolNullToSpecificMethodRector extends AbstractRector
private $identifierManipulator;
/**
* @readonly
* @var \Rector\PHPUnit\NodeManipulator\ArgumentMover
* @var \Rector\PHPUnit\NodeAnalyzer\ArgumentMover
*/
private $argumentMover;
/**
@ -76,7 +76,7 @@ final class AssertSameBoolNullToSpecificMethodRector extends AbstractRector
continue;
}
$this->renameMethod($node, $constantWithAssertMethod);
$this->argumentMover->removeFirst($node);
$this->argumentMover->removeFirstArg($node);
return $node;
}
return null;

View File

@ -7,8 +7,8 @@ use PhpParser\Node;
use PhpParser\Node\Expr\MethodCall;
use PhpParser\Node\Identifier;
use Rector\Core\Rector\AbstractRector;
use Rector\PHPUnit\NodeAnalyzer\ArgumentMover;
use Rector\PHPUnit\NodeAnalyzer\TestsNodeAnalyzer;
use Rector\PHPUnit\NodeManipulator\ArgumentMover;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -18,7 +18,7 @@ final class AssertSameTrueFalseToAssertTrueFalseRector extends AbstractRector
{
/**
* @readonly
* @var \Rector\PHPUnit\NodeManipulator\ArgumentMover
* @var \Rector\PHPUnit\NodeAnalyzer\ArgumentMover
*/
private $argumentMover;
/**
@ -79,12 +79,12 @@ CODE_SAMPLE
}
$firstArg = $node->getArgs()[0];
if ($this->valueResolver->isTrue($firstArg->value)) {
$this->argumentMover->removeFirst($node);
$this->argumentMover->removeFirstArg($node);
$node->name = new Identifier('assertTrue');
return $node;
}
if ($this->valueResolver->isFalse($firstArg->value)) {
$this->argumentMover->removeFirst($node);
$this->argumentMover->removeFirstArg($node);
$node->name = new Identifier('assertFalse');
return $node;
}

View File

@ -61,10 +61,6 @@ final class PHPUnitSetList implements SetListInterface
* @var string
*/
public const PHPUNIT_SPECIFIC_METHOD = __DIR__ . '/../../config/sets/phpunit-specific-method.php';
/**
* @var string
*/
public const PHPUNIT_YIELD_DATA_PROVIDER = __DIR__ . '/../../config/sets/phpunit-yield-data-provider.php';
/**
* @var string
*/