mirror of
https://github.com/rectorphp/rector.git
synced 2025-04-21 16:02:23 +02:00
Updated Rector to commit 1aff76b12e87cf836f9cbbaee9fc030355b162ac
1aff76b12e
[Php80] Skip case after default empty on ChangeSwitchToMatchRector (#6805)
This commit is contained in:
parent
1816427a73
commit
ddb4dbf4c2
1
vendor/composer/autoload_classmap.php
vendored
1
vendor/composer/autoload_classmap.php
vendored
@ -1793,6 +1793,7 @@ return array(
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\NarrowUnusedSetUpDefinedPropertyRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/NarrowUnusedSetUpDefinedPropertyRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\PreferPHPUnitSelfCallRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/PreferPHPUnitSelfCallRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\PreferPHPUnitThisCallRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/PreferPHPUnitThisCallRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\RemoveDataProviderParamKeysRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/RemoveDataProviderParamKeysRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\SetUpBeforeClassToSetUpRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/SetUpBeforeClassToSetUpRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\SingleMockPropertyTypeRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/SingleMockPropertyTypeRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\TestWithToDataProviderRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/TestWithToDataProviderRector.php',
|
||||
|
1
vendor/composer/autoload_static.php
vendored
1
vendor/composer/autoload_static.php
vendored
@ -2012,6 +2012,7 @@ class ComposerStaticInit463a5eb4f43b9fdf649399cc7beca233
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\NarrowUnusedSetUpDefinedPropertyRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/NarrowUnusedSetUpDefinedPropertyRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\PreferPHPUnitSelfCallRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/PreferPHPUnitSelfCallRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\PreferPHPUnitThisCallRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/PreferPHPUnitThisCallRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\RemoveDataProviderParamKeysRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/RemoveDataProviderParamKeysRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\SetUpBeforeClassToSetUpRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/SetUpBeforeClassToSetUpRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\SingleMockPropertyTypeRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/SingleMockPropertyTypeRector.php',
|
||||
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\TestWithToDataProviderRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/TestWithToDataProviderRector.php',
|
||||
|
8
vendor/composer/installed.json
vendored
8
vendor/composer/installed.json
vendored
@ -1804,12 +1804,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https:\/\/github.com\/rectorphp\/rector-phpunit.git",
|
||||
"reference": "8350a123fbc98dce13aeb8cbc6177c4e1557c2ca"
|
||||
"reference": "3b159b04b589867439d07d3fe7ac4f39d83873e2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-phpunit\/zipball\/8350a123fbc98dce13aeb8cbc6177c4e1557c2ca",
|
||||
"reference": "8350a123fbc98dce13aeb8cbc6177c4e1557c2ca",
|
||||
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-phpunit\/zipball\/3b159b04b589867439d07d3fe7ac4f39d83873e2",
|
||||
"reference": "3b159b04b589867439d07d3fe7ac4f39d83873e2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1831,7 +1831,7 @@
|
||||
"tomasvotruba\/class-leak": "^1.2",
|
||||
"tracy\/tracy": "^2.10"
|
||||
},
|
||||
"time": "2025-03-19T19:09:22+00:00",
|
||||
"time": "2025-03-23T16:59:30+00:00",
|
||||
"default-branch": true,
|
||||
"type": "rector-extension",
|
||||
"extra": {
|
||||
|
2
vendor/composer/installed.php
vendored
2
vendor/composer/installed.php
vendored
File diff suppressed because one or more lines are too long
@ -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/rector-build/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => NULL, 'version' => 'dev-main 1da0aa0'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => NULL, 'version' => 'dev-main b55c3bc'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => NULL, 'version' => 'dev-main 8350a12'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => NULL, 'version' => 'dev-main 00c1f25'));
|
||||
public const EXTENSIONS = array('rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => NULL, 'version' => 'dev-main 1da0aa0'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => NULL, 'version' => 'dev-main b55c3bc'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => NULL, 'version' => 'dev-main 3b159b0'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => NULL, 'version' => 'dev-main 00c1f25'));
|
||||
private function __construct()
|
||||
{
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ use Rector\Config\RectorConfig;
|
||||
use Rector\PHPUnit\CodeQuality\Rector\Class_\ConstructClassMethodToSetUpTestCaseRector;
|
||||
use Rector\PHPUnit\CodeQuality\Rector\Class_\NarrowUnusedSetUpDefinedPropertyRector;
|
||||
use Rector\PHPUnit\CodeQuality\Rector\Class_\PreferPHPUnitThisCallRector;
|
||||
use Rector\PHPUnit\CodeQuality\Rector\Class_\RemoveDataProviderParamKeysRector;
|
||||
use Rector\PHPUnit\CodeQuality\Rector\Class_\SingleMockPropertyTypeRector;
|
||||
use Rector\PHPUnit\CodeQuality\Rector\Class_\TestWithToDataProviderRector;
|
||||
use Rector\PHPUnit\CodeQuality\Rector\Class_\YieldDataProviderRector;
|
||||
@ -48,6 +49,8 @@ return static function (RectorConfig $rectorConfig) : void {
|
||||
TestWithToDataProviderRector::class,
|
||||
AssertEqualsOrAssertSameFloatParameterToSpecificMethodsTypeRector::class,
|
||||
DataProviderArrayItemsNewLinedRector::class,
|
||||
// PHPUnit 11 reports warnings on typos + keys are rather noise than useful, fake system-keys for values
|
||||
RemoveDataProviderParamKeysRector::class,
|
||||
FlipAssertRector::class,
|
||||
// narrow with consecutive
|
||||
NarrowIdenticalWithConsecutiveRector::class,
|
||||
|
148
vendor/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/RemoveDataProviderParamKeysRector.php
vendored
Normal file
148
vendor/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/RemoveDataProviderParamKeysRector.php
vendored
Normal file
@ -0,0 +1,148 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\PHPUnit\CodeQuality\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Expr;
|
||||
use PhpParser\Node\Expr\Array_;
|
||||
use PhpParser\Node\Expr\Yield_;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\Expression;
|
||||
use PhpParser\Node\Stmt\Return_;
|
||||
use Rector\PHPUnit\NodeAnalyzer\TestsNodeAnalyzer;
|
||||
use Rector\PHPUnit\NodeFinder\DataProviderClassMethodFinder;
|
||||
use Rector\Rector\AbstractRector;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see \Rector\PHPUnit\Tests\CodeQuality\Rector\Class_\RemoveDataProviderParamKeysRector\RemoveDataProviderParamKeysRectorTest
|
||||
*/
|
||||
final class RemoveDataProviderParamKeysRector extends AbstractRector
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
*/
|
||||
private TestsNodeAnalyzer $testsNodeAnalyzer;
|
||||
/**
|
||||
* @readonly
|
||||
*/
|
||||
private DataProviderClassMethodFinder $dataProviderClassMethodFinder;
|
||||
public function __construct(TestsNodeAnalyzer $testsNodeAnalyzer, DataProviderClassMethodFinder $dataProviderClassMethodFinder)
|
||||
{
|
||||
$this->testsNodeAnalyzer = $testsNodeAnalyzer;
|
||||
$this->dataProviderClassMethodFinder = $dataProviderClassMethodFinder;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
return new RuleDefinition('Remove data provider keys, that should match param names, as order is good enough', [new CodeSample(<<<'CODE_SAMPLE'
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use PHPUnit\Framework\DataProvider;
|
||||
|
||||
final class SomeServiceTest extends TestCase
|
||||
{
|
||||
#[DataProvider('provideData')]
|
||||
public function test(string $name): void
|
||||
{
|
||||
}
|
||||
|
||||
public function provideData(): array
|
||||
{
|
||||
return [
|
||||
'name' => ['Tom'],
|
||||
];
|
||||
}
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use PHPUnit\Framework\DataProvider;
|
||||
|
||||
final class SomeServiceTest extends TestCase
|
||||
{
|
||||
#[DataProvider('provideData')]
|
||||
public function test(string $name): void
|
||||
{
|
||||
}
|
||||
|
||||
public function provideData(): array
|
||||
{
|
||||
return [
|
||||
'name' => ['Tom'],
|
||||
];
|
||||
}
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [Class_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_ $node
|
||||
*/
|
||||
public function refactor(Node $node) : ?Node
|
||||
{
|
||||
if (!$this->testsNodeAnalyzer->isInTestClass($node)) {
|
||||
return null;
|
||||
}
|
||||
$dataProviderClassMethods = $this->dataProviderClassMethodFinder->find($node);
|
||||
$hasChanged = \false;
|
||||
foreach ($dataProviderClassMethods as $dataProviderClassMethod) {
|
||||
// 1. remove array keys
|
||||
foreach ((array) $dataProviderClassMethod->stmts as $classMethodStmt) {
|
||||
if (!$classMethodStmt instanceof Return_) {
|
||||
continue;
|
||||
}
|
||||
if (!$classMethodStmt->expr instanceof Array_) {
|
||||
continue;
|
||||
}
|
||||
$returnedArray = $classMethodStmt->expr;
|
||||
foreach ($returnedArray->items as $arrayItem) {
|
||||
if (!$arrayItem->value instanceof Array_) {
|
||||
continue;
|
||||
}
|
||||
$nestedArray = $arrayItem->value;
|
||||
foreach ($nestedArray->items as $nestedArrayItem) {
|
||||
if (!$nestedArrayItem->key instanceof Expr) {
|
||||
continue;
|
||||
}
|
||||
// remove key
|
||||
$nestedArrayItem->key = null;
|
||||
$hasChanged = \true;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 2. remove yield keys
|
||||
foreach ((array) $dataProviderClassMethod->stmts as $classMethodStmt) {
|
||||
if (!$classMethodStmt instanceof Expression) {
|
||||
continue;
|
||||
}
|
||||
if (!$classMethodStmt->expr instanceof Yield_) {
|
||||
continue;
|
||||
}
|
||||
$yield = $classMethodStmt->expr;
|
||||
if (!$yield->value instanceof Array_) {
|
||||
continue;
|
||||
}
|
||||
$yieldArray = $yield->value;
|
||||
foreach ($yieldArray->items as $yieldArrayItem) {
|
||||
if (!$yieldArrayItem->key instanceof Expr) {
|
||||
continue;
|
||||
}
|
||||
// remove key
|
||||
$yieldArrayItem->key = null;
|
||||
$hasChanged = \true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($hasChanged === \false) {
|
||||
return null;
|
||||
}
|
||||
return $node;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user