Skip to content

Commit 9798fd4

Browse files
committed
Updated Rector to commit d246d27a9442cc08a419e899e07c2c19a680eb80
rectorphp/rector-src@d246d27 [CodeQuality] Skip multiple lines on JoinStringConcatRector (#6404)
1 parent 6aa0ede commit 9798fd4

File tree

6 files changed

+113
-10
lines changed

6 files changed

+113
-10
lines changed

vendor/composer/autoload_classmap.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1746,6 +1746,7 @@
17461746
'Rector\\PHPUnit\\CodeQuality\\Rector\\ClassMethod\\DataProviderArrayItemsNewLinedRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/ClassMethod/DataProviderArrayItemsNewLinedRector.php',
17471747
'Rector\\PHPUnit\\CodeQuality\\Rector\\ClassMethod\\RemoveEmptyTestMethodRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/ClassMethod/RemoveEmptyTestMethodRector.php',
17481748
'Rector\\PHPUnit\\CodeQuality\\Rector\\ClassMethod\\ReplaceTestAnnotationWithPrefixedFunctionRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/ClassMethod/ReplaceTestAnnotationWithPrefixedFunctionRector.php',
1749+
'Rector\\PHPUnit\\CodeQuality\\Rector\\ClassMethod\\ReplaceTestFunctionPrefixWithAttributeRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/ClassMethod/ReplaceTestFunctionPrefixWithAttributeRector.php',
17491750
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\AddCoversClassAttributeRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/AddCoversClassAttributeRector.php',
17501751
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\AddParentSetupCallOnSetupRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector.php',
17511752
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\AddSeeTestAnnotationRector' => $vendorDir . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/AddSeeTestAnnotationRector.php',

vendor/composer/autoload_static.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1965,6 +1965,7 @@ class ComposerStaticInit4d4c37b878ce01a3ff505ba7def6aac7
19651965
'Rector\\PHPUnit\\CodeQuality\\Rector\\ClassMethod\\DataProviderArrayItemsNewLinedRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/ClassMethod/DataProviderArrayItemsNewLinedRector.php',
19661966
'Rector\\PHPUnit\\CodeQuality\\Rector\\ClassMethod\\RemoveEmptyTestMethodRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/ClassMethod/RemoveEmptyTestMethodRector.php',
19671967
'Rector\\PHPUnit\\CodeQuality\\Rector\\ClassMethod\\ReplaceTestAnnotationWithPrefixedFunctionRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/ClassMethod/ReplaceTestAnnotationWithPrefixedFunctionRector.php',
1968+
'Rector\\PHPUnit\\CodeQuality\\Rector\\ClassMethod\\ReplaceTestFunctionPrefixWithAttributeRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/ClassMethod/ReplaceTestFunctionPrefixWithAttributeRector.php',
19681969
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\AddCoversClassAttributeRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/AddCoversClassAttributeRector.php',
19691970
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\AddParentSetupCallOnSetupRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector.php',
19701971
'Rector\\PHPUnit\\CodeQuality\\Rector\\Class_\\AddSeeTestAnnotationRector' => __DIR__ . '/..' . '/rector/rector-phpunit/rules/CodeQuality/Rector/Class_/AddSeeTestAnnotationRector.php',

vendor/composer/installed.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -512,8 +512,8 @@
512512
},
513513
{
514514
"name": "illuminate\/container",
515-
"version": "v11.29.0",
516-
"version_normalized": "11.29.0.0",
515+
"version": "v11.30.0",
516+
"version_normalized": "11.30.0.0",
517517
"source": {
518518
"type": "git",
519519
"url": "https:\/\/github.com\/illuminate\/container.git",
@@ -569,8 +569,8 @@
569569
},
570570
{
571571
"name": "illuminate\/contracts",
572-
"version": "v11.29.0",
573-
"version_normalized": "11.29.0.0",
572+
"version": "v11.30.0",
573+
"version_normalized": "11.30.0.0",
574574
"source": {
575575
"type": "git",
576576
"url": "https:\/\/github.com\/illuminate\/contracts.git",
@@ -1811,12 +1811,12 @@
18111811
"source": {
18121812
"type": "git",
18131813
"url": "https:\/\/github.com\/rectorphp\/rector-phpunit.git",
1814-
"reference": "4d6a2824c66bb265d1c0b769a5fb8bb2a6ddd278"
1814+
"reference": "8026eca60bd8398e59d7adf7b13f98d9d57a387f"
18151815
},
18161816
"dist": {
18171817
"type": "zip",
1818-
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-phpunit\/zipball\/4d6a2824c66bb265d1c0b769a5fb8bb2a6ddd278",
1819-
"reference": "4d6a2824c66bb265d1c0b769a5fb8bb2a6ddd278",
1818+
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-phpunit\/zipball\/8026eca60bd8398e59d7adf7b13f98d9d57a387f",
1819+
"reference": "8026eca60bd8398e59d7adf7b13f98d9d57a387f",
18201820
"shasum": ""
18211821
},
18221822
"require": {
@@ -1840,7 +1840,7 @@
18401840
"tomasvotruba\/class-leak": "^0.2",
18411841
"tracy\/tracy": "^2.10"
18421842
},
1843-
"time": "2024-10-25T23:57:17+00:00",
1843+
"time": "2024-10-30T16:55:08+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 4d6a282'), '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 8026eca'), '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
}
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
<?php
2+
3+
declare (strict_types=1);
4+
namespace Rector\PHPUnit\CodeQuality\Rector\ClassMethod;
5+
6+
use PhpParser\Node;
7+
use PhpParser\Node\AttributeGroup;
8+
use PhpParser\Node\Stmt\ClassMethod;
9+
use Rector\Php80\NodeAnalyzer\PhpAttributeAnalyzer;
10+
use Rector\PhpAttribute\NodeFactory\PhpAttributeGroupFactory;
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\ClassMethod\ReplaceTestAnnotationWithPrefixedFunctionRector\ReplaceTestAnnotationWithPrefixedFunctionRectorTest
17+
*/
18+
final class ReplaceTestFunctionPrefixWithAttributeRector extends AbstractRector
19+
{
20+
/**
21+
* @readonly
22+
* @var \Rector\PHPUnit\NodeAnalyzer\TestsNodeAnalyzer
23+
*/
24+
private $testsNodeAnalyzer;
25+
/**
26+
* @readonly
27+
* @var \Rector\PhpAttribute\NodeFactory\PhpAttributeGroupFactory
28+
*/
29+
private $phpAttributeGroupFactory;
30+
/**
31+
* @readonly
32+
* @var \Rector\Php80\NodeAnalyzer\PhpAttributeAnalyzer
33+
*/
34+
private $phpAttributeAnalyzer;
35+
public function __construct(TestsNodeAnalyzer $testsNodeAnalyzer, PhpAttributeGroupFactory $phpAttributeGroupFactory, PhpAttributeAnalyzer $phpAttributeAnalyzer)
36+
{
37+
$this->testsNodeAnalyzer = $testsNodeAnalyzer;
38+
$this->phpAttributeGroupFactory = $phpAttributeGroupFactory;
39+
$this->phpAttributeAnalyzer = $phpAttributeAnalyzer;
40+
}
41+
public function getRuleDefinition() : RuleDefinition
42+
{
43+
return new RuleDefinition('Replace @test with prefixed function', [new CodeSample(<<<'CODE_SAMPLE'
44+
class SomeTest extends \PHPUnit\Framework\TestCase
45+
{
46+
public function testOnePlusOneShouldBeTwo()
47+
{
48+
$this->assertSame(2, 1+1);
49+
}
50+
}
51+
CODE_SAMPLE
52+
, <<<'CODE_SAMPLE'
53+
class SomeTest extends \PHPUnit\Framework\TestCase
54+
{
55+
#[Test]
56+
public function onePlusOneShouldBeTwo()
57+
{
58+
$this->assertSame(2, 1+1);
59+
}
60+
}
61+
CODE_SAMPLE
62+
)]);
63+
}
64+
/**
65+
* @return array<class-string<Node>>
66+
*/
67+
public function getNodeTypes() : array
68+
{
69+
return [ClassMethod::class];
70+
}
71+
/**
72+
* @param ClassMethod $node
73+
*/
74+
public function refactor(Node $node) : ?Node
75+
{
76+
if (!$this->testsNodeAnalyzer->isInTestClass($node)) {
77+
return null;
78+
}
79+
if (\strncmp($node->name->toString(), 'test', \strlen('test')) !== 0) {
80+
return null;
81+
}
82+
if ($this->phpAttributeAnalyzer->hasPhpAttributes($node, ['PHPUnit\\Framework\\Attributes\\Test'])) {
83+
return null;
84+
}
85+
if ($node->name->toString() !== 'test' && $node->name->toString() !== 'test_') {
86+
if (\strncmp($node->name->toString(), 'test_', \strlen('test_')) === 0) {
87+
$node->name->name = \lcfirst(\substr($node->name->name, 5));
88+
} elseif (\strncmp($node->name->toString(), 'test', \strlen('test')) === 0) {
89+
$node->name->name = \lcfirst(\substr($node->name->name, 4));
90+
}
91+
}
92+
$coversAttributeGroup = $this->createAttributeGroup();
93+
$node->attrGroups = \array_merge($node->attrGroups, [$coversAttributeGroup]);
94+
return $node;
95+
}
96+
private function createAttributeGroup() : AttributeGroup
97+
{
98+
$attributeClass = 'PHPUnit\\Framework\\Attributes\\Test';
99+
return $this->phpAttributeGroupFactory->createFromClassWithItems($attributeClass, []);
100+
}
101+
}

0 commit comments

Comments
 (0)