Skip to content

Commit d7df97d

Browse files
committed
[AnnotationToAttribute] Handle already in use on DataProviderAnnotationToAttributeRector
1 parent db71441 commit d7df97d

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
namespace Rector\PHPUnit\Tests\AnnotationsToAttributes\Rector\ClassMethod\DataProviderAnnotationToAttributeRector\Fixture;
4+
5+
use PHPUnit\Framework\Attributes\DataProvider;
6+
use PHPUnit\Framework\TestCase;
7+
8+
final class AlreadyInUse extends TestCase
9+
{
10+
/**
11+
* @dataProvider someMethod()
12+
*/
13+
public function test(): void
14+
{
15+
}
16+
}
17+
18+
?>
19+
-----
20+
<?php
21+
22+
namespace Rector\PHPUnit\Tests\AnnotationsToAttributes\Rector\ClassMethod\DataProviderAnnotationToAttributeRector\Fixture;
23+
24+
use PHPUnit\Framework\Attributes\DataProvider;
25+
use PHPUnit\Framework\TestCase;
26+
27+
final class AlreadyInUse extends TestCase
28+
{
29+
#[\PHPUnit\Framework\Attributes\DataProvider('@dataProvider')]
30+
public function test(): void
31+
{
32+
}
33+
}
34+
35+
?>

rules/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,15 @@ public function refactor(Node $node): ?Node
132132
}
133133

134134
foreach ($desiredTagValueNodes as $desiredTagValueNode) {
135-
if (! $desiredTagValueNode->value instanceof GenericTagValueNode) {
135+
if (! $desiredTagValueNode->value instanceof GenericTagValueNode && ! $desiredTagValueNode->value instanceof \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode) {
136136
continue;
137137
}
138138

139-
$originalAttributeValue = $desiredTagValueNode->value->value;
139+
if ($desiredTagValueNode->value instanceof GenericTagValueNode) {
140+
$originalAttributeValue = $desiredTagValueNode->value->value;
141+
} else {
142+
$originalAttributeValue = $desiredTagValueNode->value->identifierTypeNode->name;
143+
}
140144

141145
$node->attrGroups[] = $this->createAttributeGroup(strtok($originalAttributeValue, " \t\n\r\0\x0B"));
142146

0 commit comments

Comments
 (0)