fix Safe\function conflicts

This commit is contained in:
TomasVotruba 2020-03-31 17:42:18 +02:00
parent 849d8362e5
commit a8da478d44
7 changed files with 48 additions and 33 deletions

View File

@ -196,20 +196,20 @@
"Rector\\ZendToSymfony\\Tests\\": "rules/zend-to-symfony/tests"
},
"classmap": [
"tests/Source",
"tests/Rector/Psr4/MultipleClassFileToPsr4ClassesRector/Source",
"tests/Rector/Namespace_/PseudoNamespaceToNamespaceRector/Source",
"tests/Issues/Issue1243/Source",
"packages/node-type-resolver/tests/PerNodeTypeResolver/ParamTypeResolver/Source",
"packages/node-type-resolver/tests/PerNodeTypeResolver/PropertyTypeResolver/Source",
"rules/cakephp/tests/Rector/Name/ImplicitShortClassNameUseStatementRector/Source",
"rules/symfony/tests/Rector/FrameworkBundle/AbstractToConstructorInjectionRectorSource",
"rules/symfony/tests/Rector/FrameworkBundle/ContainerGetToConstructorInjectionRector/Source",
"packages/node-type-resolver/tests/PerNodeTypeResolver/ParamTypeResolver/Source",
"packages/node-type-resolver/tests/PerNodeTypeResolver/PropertyTypeResolver/Source",
"rules/autodiscovery/tests/Rector/FileSystem/MoveInterfacesToContractNamespaceDirectoryRector/Expected",
"rules/autodiscovery/tests/Rector/FileSystem/MoveServicesBySuffixToDirectoryRector/Expected",
"rules/cakephp/tests/Rector/StaticCall/AppUsesStaticCallToUseStatementRector/Source",
"rules/cakephp-to-symfony/tests/Rector/Class_/CakePHPControllerComponentToSymfonyRector/Source",
"rules/cakephp-to-symfony/tests/Rector/Class_/CakePHPModelToDoctrineEntityRector/Source"
"rules/cakephp-to-symfony/tests/Rector/Class_/CakePHPModelToDoctrineEntityRector/Source",
"tests/Source",
"tests/Rector/Psr4/MultipleClassFileToPsr4ClassesRector/Source",
"tests/Rector/Namespace_/PseudoNamespaceToNamespaceRector/Source",
"tests/Issues/Issue1243/Source"
],
"files": [
"packages/better-php-doc-parser/tests/PhpDocInfo/PhpDocInfoPrinter/AbstractPhpDocInfoPrinterTest.php",
@ -225,7 +225,7 @@
"rules/solid/tests/Rector/ClassMethod/UseInterfaceOverImplementationInConstructorRector/Source/Apple.php",
"tests/Rector/Namespace_/PseudoNamespaceToNamespaceRector/Source/ChangeMeAnotherNamespace.php",
"rules/coding-style/tests/Rector/Namespace_/ImportFullyQualifiedNamesRector/Source/Foo.php",
"rules/coding-style/tests/Rector/Namespace_/ImportFullyQualifiedNamesRector/Source/safe_count.php",
"rules/coding-style/tests/Rector/Namespace_/ImportFullyQualifiedNamesRector/Source/Function_/count.php",
"rules/coding-style/tests/Rector/Namespace_/ImportFullyQualifiedNamesRector/Source/AnotherClass.php",
"rules/coding-style/tests/Rector/Namespace_/ImportFullyQualifiedNamesRector/Source/YetAnotherClass.php"
]

View File

@ -6,7 +6,7 @@ class ImportFunction
{
public function run()
{
return \Safe\count([1]);
return \Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Source\Function_\count([1]);
}
}
@ -22,7 +22,7 @@ function someFunctionWithNoEffect()
namespace Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Fixture;
use function Safe\count;
use function Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Source\Function_\count;
class ImportFunction
{
public function run()

View File

@ -6,12 +6,12 @@ class DoubleImportFunction
{
public function create()
{
return \Safe\substr(1, 2);
return \Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Source\Function_\substr(1, 2);
}
public function emulate()
{
return \Safe\substr(4, 5);
return \Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Source\Function_\substr(4, 5);
}
}
@ -21,7 +21,7 @@ class DoubleImportFunction
namespace Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\FixtureFunction;
use function Safe\substr;
use function Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Source\Function_\substr;
class DoubleImportFunction
{
public function create()

View File

@ -1,12 +1,12 @@
<?php
use function Safe\count;
use function Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Source\Function_\count;
class ImportFunctionWithoutNamespace
{
public function run()
{
return \Safe\count([1]);
return \Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Source\Function_\count([1]);
}
}
@ -14,7 +14,7 @@ class ImportFunctionWithoutNamespace
-----
<?php
use function Safe\count;
use function Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Source\Function_\count;
class ImportFunctionWithoutNamespace
{

View File

@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Source\Function_;
if (!function_exists('Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Source\Function_\count')) {
function count(array $array)
{
}
}
if (!function_exists('Rector\CodingStyle\Tests\Rector\Namespace_\ImportFullyQualifiedNamesRector\Source\Function_\substr')) {
function substr()
{
}
}

View File

@ -1,15 +0,0 @@
<?php
declare(strict_types=1);
namespace Safe;
function count()
{
}
function substr()
{
}

View File

@ -273,11 +273,22 @@ abstract class AbstractRectorTestCase extends AbstractGenericRectorTestCase
$this->fileProcessor->refactor($smartFileInfo);
$changedContent = $this->fileProcessor->printToString($smartFileInfo);
$causedByFixtureMessage = $this->createCausedByFixtureMessage($fixtureFile);
try {
$this->assertStringEqualsFile($expectedFile, $changedContent, 'Caused by ' . $fixtureFile);
$this->assertStringEqualsFile($expectedFile, $changedContent, $causedByFixtureMessage);
} catch (ExpectationFailedException $expectationFailedException) {
$expectedFileContent = FileSystem::read($expectedFile);
$this->assertStringMatchesFormat($expectedFileContent, $changedContent, 'Caused by ' . $fixtureFile);
$this->assertStringMatchesFormat($expectedFileContent, $changedContent, $causedByFixtureMessage);
}
}
private function createCausedByFixtureMessage(string $fixtureFile): string
{
$fixtureSmartFileInfo = new SmartFileInfo($fixtureFile);
$relativeFixtureFilePath = $fixtureSmartFileInfo->getRelativeFilePathFromCwd();
return 'Caused by ' . $relativeFixtureFilePath;
}
}