Skip to content

Commit 53788ee

Browse files
committed
Updated Rector to commit afe7c46c0387e27e1eae37cf76f8a3a4119a1d39
rectorphp/rector-src@afe7c46 [DeadCode] Skip nullable @ template on RemoveUselessReturnTagRector (#6409)
1 parent ff5ae8b commit 53788ee

File tree

8 files changed

+110
-8
lines changed

8 files changed

+110
-8
lines changed

vendor/composer/autoload_classmap.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1756,6 +1756,7 @@
17561756
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\PreferPHPUnitSelfCallRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/PreferPHPUnitSelfCallRector.php',
17571757
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\PreferPHPUnitThisCallRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/PreferPHPUnitThisCallRector.php',
17581758
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\SetUpBeforeClassToSetUpRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/SetUpBeforeClassToSetUpRector.php',
1759+
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\SingleMockPropertyTypeRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/SingleMockPropertyTypeRector.php',
17591760
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\TestWithToDataProviderRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/TestWithToDataProviderRector.php',
17601761
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\YieldDataProviderRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/YieldDataProviderRector.php',
17611762
'Rector\\PHPUnit\\CodeQuality\\Rector\\Foreach_\\SimplifyForeachInstanceOfRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Foreach_/SimplifyForeachInstanceOfRector.php',

vendor/composer/autoload_static.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1975,6 +1975,7 @@ class ComposerStaticInit4d4c37b878ce01a3ff505ba7def6aac7
19751975
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\PreferPHPUnitSelfCallRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/PreferPHPUnitSelfCallRector.php',
19761976
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\PreferPHPUnitThisCallRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/PreferPHPUnitThisCallRector.php',
19771977
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\SetUpBeforeClassToSetUpRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/SetUpBeforeClassToSetUpRector.php',
1978+
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\SingleMockPropertyTypeRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/SingleMockPropertyTypeRector.php',
19781979
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\TestWithToDataProviderRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/TestWithToDataProviderRector.php',
19791980
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\YieldDataProviderRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/YieldDataProviderRector.php',
19801981
'Rector\\PHPUnit\\CodeQuality\\Rector\\Foreach_\\SimplifyForeachInstanceOfRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Foreach_/SimplifyForeachInstanceOfRector.php',

vendor/composer/installed.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1811,12 +1811,12 @@
18111811
"source": {
18121812
"type": "git",
18131813
"url": "https:\/\/github.com\/rectorphp\/rector-phpunit.git",
1814-
"reference": "e54d4ada1f2cb182b085193430410120a3e74f3f"
1814+
"reference": "eb0b69aa213ec7925264453770090ca4ca4bacaa"
18151815
},
18161816
"dist": {
18171817
"type": "zip",
1818-
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-phpunit\/zipball\/e54d4ada1f2cb182b085193430410120a3e74f3f",
1819-
"reference": "e54d4ada1f2cb182b085193430410120a3e74f3f",
1818+
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-phpunit\/zipball\/eb0b69aa213ec7925264453770090ca4ca4bacaa",
1819+
"reference": "eb0b69aa213ec7925264453770090ca4ca4bacaa",
18201820
"shasum": ""
18211821
},
18221822
"require": {
@@ -1836,11 +1836,11 @@
18361836
"symplify\/easy-coding-standard": "^12.3",
18371837
"symplify\/phpstan-extensions": "^11.4",
18381838
"symplify\/phpstan-rules": "^13.0",
1839-
"symplify\/vendor-patches": "^11.2",
1839+
"symplify\/vendor-patches": "^11.3",
18401840
"tomasvotruba\/class-leak": "^1.0",
18411841
"tracy\/tracy": "^2.10"
18421842
},
1843-
"time": "2024-11-05T15:36:16+00:00",
1843+
"time": "2024-11-05T22:55:54+00:00",
18441844
"default-branch": true,
18451845
"type": "rector-extension",
18461846
"extra": {

vendor/composer/installed.php

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

vendor/rector/extension-installer/src/GeneratedConfig.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*/
1010
final class GeneratedConfig
1111
{
12-
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 e75008c'), '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 d9cef57'), '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 e54d4ad'), '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 799b454'));
12+
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 e75008c'), '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 d9cef57'), '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 eb0b69a'), '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 799b454'));
1313
private function __construct()
1414
{
1515
}

vendor/rector/rector-phpunit/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"symplify\/easy-coding-standard": "^12.3",
1616
"phpstan\/extension-installer": "^1.4",
1717
"phpstan\/phpstan-webmozart-assert": "^1.2",
18-
"symplify\/vendor-patches": "^11.2",
18+
"symplify\/vendor-patches": "^11.3",
1919
"tracy\/tracy": "^2.10",
2020
"tomasvotruba\/class-leak": "^1.0",
2121
"rector\/type-perfect": "^1.0",

vendor/rector/rector-phpunit/config/sets/phpunit-code-quality.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Rector\PHPUnit\CodeQuality\Rector\Class_\ConstructClassMethodToSetUpTestCaseRector;
88
use Rector\PHPUnit\CodeQuality\Rector\Class_\NarrowUnusedSetUpDefinedPropertyRector;
99
use Rector\PHPUnit\CodeQuality\Rector\Class_\PreferPHPUnitThisCallRector;
10+
use Rector\PHPUnit\CodeQuality\Rector\Class_\SingleMockPropertyTypeRector;
1011
use Rector\PHPUnit\CodeQuality\Rector\Class_\TestWithToDataProviderRector;
1112
use Rector\PHPUnit\CodeQuality\Rector\Class_\YieldDataProviderRector;
1213
use Rector\PHPUnit\CodeQuality\Rector\ClassMethod\DataProviderArrayItemsNewLinedRector;
@@ -80,5 +81,6 @@
8081
* @see https://davegebler.com/post/php/better-php-unit-testing-avoiding-mocks
8182
*/
8283
RemoveExpectAnyFromMockRector::class,
84+
SingleMockPropertyTypeRector::class,
8385
]);
8486
};
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
<?php
2+
3+
declare (strict_types=1);
4+
namespace Rector\PHPUnit\CodeQuality\Rector\Class_;
5+
6+
use PhpParser\Node;
7+
use PhpParser\Node\IntersectionType;
8+
use PhpParser\Node\Stmt\Class_;
9+
use PhpParser\Node\UnionType;
10+
use RectorPrefix202411\PHPUnit\Framework\MockObject\MockObject;
11+
use Rector\PHPUnit\NodeAnalyzer\TestsNodeAnalyzer;
12+
use Rector\Rector\AbstractRector;
13+
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
14+
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
15+
/**
16+
* @see \Rector\PHPUnit\Tests\CodeQuality\Rector\Class_\SingleMockPropertyTypeRector\SingleMockPropertyTypeRectorTest
17+
*/
18+
final class SingleMockPropertyTypeRector extends AbstractRector
19+
{
20+
/**
21+
* @readonly
22+
* @var \Rector\PHPUnit\NodeAnalyzer\TestsNodeAnalyzer
23+
*/
24+
private $testsNodeAnalyzer;
25+
public function __construct(TestsNodeAnalyzer $testsNodeAnalyzer)
26+
{
27+
$this->testsNodeAnalyzer = $testsNodeAnalyzer;
28+
}
29+
public function getRuleDefinition() : RuleDefinition
30+
{
31+
return new RuleDefinition('Make properties in tests with intersection mock object either object type or mock type', [new CodeSample(<<<'CODE_SAMPLE'
32+
use PHPUnit\Framework\TestCase;
33+
use PHPUnit\Framework\MockObject\MockObject;
34+
35+
final class MockingEntity extends TestCase
36+
{
37+
private SimpleObject|MockObject $someEntityMock;
38+
39+
protected function setUp(): void
40+
{
41+
$this->someEntityMock = $this->createMock(SimpleObject::class);
42+
}
43+
}
44+
CODE_SAMPLE
45+
, <<<'CODE_SAMPLE'
46+
use PHPUnit\Framework\TestCase;
47+
use PHPUnit\Framework\MockObject\MockObject;
48+
49+
final class MockingEntity extends TestCase
50+
{
51+
private MockObject $someEntityMock;
52+
53+
protected function setUp(): void
54+
{
55+
$this->someEntityMock = $this->createMock(SimpleObject::class);
56+
}
57+
}
58+
CODE_SAMPLE
59+
)]);
60+
}
61+
/**
62+
* @return array<class-string<Node>>
63+
*/
64+
public function getNodeTypes() : array
65+
{
66+
return [Class_::class];
67+
}
68+
/**
69+
* @param Class_ $node
70+
*/
71+
public function refactor(Node $node) : ?Class_
72+
{
73+
if (!$this->testsNodeAnalyzer->isInTestClass($node)) {
74+
return null;
75+
}
76+
$hasChanged = \false;
77+
foreach ($node->getProperties() as $property) {
78+
if (!$property->type instanceof IntersectionType && !$property->type instanceof UnionType) {
79+
continue;
80+
}
81+
$complexType = $property->type;
82+
if (\count($complexType->types) !== 2) {
83+
continue;
84+
}
85+
foreach ($complexType->types as $intersectionType) {
86+
if ($this->isName($intersectionType, MockObject::class)) {
87+
$property->type = $intersectionType;
88+
$hasChanged = \true;
89+
break;
90+
}
91+
}
92+
}
93+
if (!$hasChanged) {
94+
return null;
95+
}
96+
return $node;
97+
}
98+
}

0 commit comments

Comments
 (0)