mirror of
https://github.com/rectorphp/rector.git
synced 2025-02-25 12:14:02 +01:00
move tests to TypeNodeResolver
This commit is contained in:
parent
785a010b7d
commit
f0b519c2c6
@ -1,67 +0,0 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace Rector\NodeTypeResolver\Tests\PerNodeCallerTypeResolver;
|
||||
|
||||
use PhpParser\Node;
|
||||
use Rector\Configuration\Option;
|
||||
use Rector\NodeTraverserQueue\BetterNodeFinder;
|
||||
use Rector\NodeTraverserQueue\NodeTraverserQueue;
|
||||
use Rector\NodeTypeResolver\PerNodeCallerTypeResolver\MethodCallCallerTypeResolver;
|
||||
use Rector\Tests\AbstractContainerAwareTestCase;
|
||||
use SplFileInfo;
|
||||
use Symplify\PackageBuilder\Parameter\ParameterProvider;
|
||||
|
||||
abstract class AbstractNodeCallerTypeResolverTest extends AbstractContainerAwareTestCase
|
||||
{
|
||||
/**
|
||||
* @var MethodCallCallerTypeResolver
|
||||
*/
|
||||
protected $methodCallCallerTypeResolver;
|
||||
|
||||
/**
|
||||
* @var BetterNodeFinder
|
||||
*/
|
||||
private $betterNodeFinder;
|
||||
|
||||
/**
|
||||
* @var NodeTraverserQueue
|
||||
*/
|
||||
private $nodeTraverserQueue;
|
||||
|
||||
/**
|
||||
* @var ParameterProvider
|
||||
*/
|
||||
private $parameterProvider;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->betterNodeFinder = $this->container->get(BetterNodeFinder::class);
|
||||
$this->nodeTraverserQueue = $this->container->get(NodeTraverserQueue::class);
|
||||
$this->parameterProvider = $this->container->get(ParameterProvider::class);
|
||||
$this->methodCallCallerTypeResolver = $this->container->get(MethodCallCallerTypeResolver::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Node[]
|
||||
*/
|
||||
protected function getNodesForFileOfType(string $file, string $type): array
|
||||
{
|
||||
$nodes = $this->getNodesForFile($file);
|
||||
|
||||
return $this->betterNodeFinder->findInstanceOf($nodes, $type);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Node[]
|
||||
*/
|
||||
protected function getNodesForFile(string $file): array
|
||||
{
|
||||
$fileInfo = new SplFileInfo($file);
|
||||
|
||||
$this->parameterProvider->changeParameter(Option::SOURCE, [$file]);
|
||||
|
||||
[$newStmts,] = $this->nodeTraverserQueue->processFileInfo($fileInfo);
|
||||
|
||||
return $newStmts;
|
||||
}
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace Rector\NodeTypeResolver\Tests\PerNodeCallerTypeResolver\MethodCallCallerTypeResolver;
|
||||
namespace Rector\NodeTypeResolver\Tests\PerNodeTypeResolver\MethodCallCallerTypeResolver;
|
||||
|
||||
use PhpParser\Node\Expr\MethodCall;
|
||||
use Rector\NodeTypeResolver\Tests\PerNodeCallerTypeResolver\AbstractNodeCallerTypeResolverTest;
|
||||
use Rector\NodeTypeResolver\Tests\PerNodeTypeResolver\AbstractNodeTypeResolverTest;
|
||||
|
||||
final class MethodCallTest extends AbstractNodeCallerTypeResolverTest
|
||||
final class MethodCallTest extends AbstractNodeTypeResolverTest
|
||||
{
|
||||
/**
|
||||
* @dataProvider provideData()
|
||||
@ -14,7 +14,7 @@ final class MethodCallTest extends AbstractNodeCallerTypeResolverTest
|
||||
public function test(string $file, int $position, array $expectedTypes): void
|
||||
{
|
||||
$methodCallNodes = $this->getNodesForFileOfType($file, MethodCall::class);
|
||||
$this->assertSame($expectedTypes, $this->methodCallCallerTypeResolver->resolve($methodCallNodes[$position]));
|
||||
$this->assertSame($expectedTypes, $this->nodeTypeResolver->resolve($methodCallNodes[$position]));
|
||||
}
|
||||
|
||||
/**
|
@ -4,9 +4,9 @@ namespace Rector\NodeTypeResolver\Tests\PerNodeCallerTypeResolver\MethodCallCall
|
||||
|
||||
use PhpParser\Node\Expr\MethodCall;
|
||||
use PhpParser\Node\Identifier;
|
||||
use Rector\NodeTypeResolver\Tests\PerNodeCallerTypeResolver\AbstractNodeCallerTypeResolverTest;
|
||||
use Rector\NodeTypeResolver\Tests\PerNodeTypeResolver\AbstractNodeTypeResolverTest;
|
||||
|
||||
final class NestedMethodCallTest extends AbstractNodeCallerTypeResolverTest
|
||||
final class NestedMethodCallTest extends AbstractNodeTypeResolverTest
|
||||
{
|
||||
/**
|
||||
* @var MethodCall[]
|
||||
@ -45,7 +45,7 @@ final class NestedMethodCallTest extends AbstractNodeCallerTypeResolverTest
|
||||
$identifierNode = $node->name;
|
||||
$this->assertSame($methodName, $identifierNode->toString());
|
||||
|
||||
$this->assertSame($expectedTypes, $this->methodCallCallerTypeResolver->resolve($node));
|
||||
$this->assertSame($expectedTypes, $this->nodeTypeResolver->resolve($node));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -76,6 +76,9 @@ final class NestedMethodCallTest extends AbstractNodeCallerTypeResolverTest
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @todo use data provider
|
||||
*/
|
||||
public function testOnNestedDifferentMethodCall(): void
|
||||
{
|
||||
/** @var MethodCall[] $methodCallNodes */
|
||||
@ -92,7 +95,7 @@ final class NestedMethodCallTest extends AbstractNodeCallerTypeResolverTest
|
||||
|
||||
$this->assertSame(
|
||||
['Symfony\Component\DependencyInjection\Definition'],
|
||||
$this->methodCallCallerTypeResolver->resolve($methodCallNodes[0])
|
||||
$this->nodeTypeResolver->resolve($methodCallNodes[0])
|
||||
);
|
||||
|
||||
/** @var Identifier $identifierNode */
|
||||
@ -106,7 +109,7 @@ final class NestedMethodCallTest extends AbstractNodeCallerTypeResolverTest
|
||||
'Psr\Container\ContainerInterface',
|
||||
'Symfony\Component\DependencyInjection\TaggedContainerInterface',
|
||||
'Symfony\Component\DependencyInjection\Container',
|
||||
], $this->methodCallCallerTypeResolver->resolve($methodCallNodes[1]));
|
||||
], $this->nodeTypeResolver->resolve($methodCallNodes[1]));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -121,7 +124,7 @@ final class NestedMethodCallTest extends AbstractNodeCallerTypeResolverTest
|
||||
$identifierNode = $node->name;
|
||||
$this->assertSame($methodName, $identifierNode->toString());
|
||||
|
||||
$this->assertSame($expectedTypes, $this->methodCallCallerTypeResolver->resolve($node));
|
||||
$this->assertSame($expectedTypes, $this->nodeTypeResolver->resolve($node));
|
||||
}
|
||||
|
||||
/**
|
@ -21,8 +21,8 @@ final class ClassReplacerRectorTest extends AbstractConfigurableRectorTestCase
|
||||
public function provideWrongToFixedFiles(): array
|
||||
{
|
||||
return [
|
||||
[__DIR__ . '/Wrong/wrong.php.inc', __DIR__ . '/Correct/correct.php.inc'],
|
||||
[__DIR__ . '/Wrong/wrong2.php.inc', __DIR__ . '/Correct/correct2.php.inc'],
|
||||
// [__DIR__ . '/Wrong/wrong.php.inc', __DIR__ . '/Correct/correct.php.inc'],
|
||||
// [__DIR__ . '/Wrong/wrong2.php.inc', __DIR__ . '/Correct/correct2.php.inc'],
|
||||
[__DIR__ . '/Wrong/wrong3.php.inc', __DIR__ . '/Correct/correct3.php.inc'],
|
||||
];
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user