add preslash support to StringClassNameToClassConstantRector

This commit is contained in:
Tomas Votruba 2019-06-10 17:52:59 +02:00
parent 05b5e43c91
commit 034d66d02b
3 changed files with 31 additions and 1 deletions

View File

@ -92,7 +92,9 @@ CODE_SAMPLE
{
$classLikeName = $node->value;
if ($classLikeName === '\\') {
// remove leading slash
$classLikeName = ltrim($classLikeName, '\\');
if ($classLikeName === '') {
return null;
}

View File

@ -0,0 +1,27 @@
<?php
namespace Rector\Php\Tests\Rector\String_\StringClassNameToClassConstantRector\Fixture;
class PreSlash
{
public function run()
{
return '\Rector\Php\Tests\Rector\String_\StringClassNameToClassConstantRector\Fixture\AnotherClass';
}
}
?>
-----
<?php
namespace Rector\Php\Tests\Rector\String_\StringClassNameToClassConstantRector\Fixture;
class PreSlash
{
public function run()
{
return \Rector\Php\Tests\Rector\String_\StringClassNameToClassConstantRector\Fixture\AnotherClass::class;
}
}
?>

View File

@ -11,6 +11,7 @@ final class StringClassNameToClassConstantRectorTest extends AbstractRectorTestC
{
$this->doTestFiles([
__DIR__ . '/Fixture/fixture.php.inc',
__DIR__ . '/Fixture/pre_slash.php.inc',
__DIR__ . '/Fixture/skip_error.php.inc',
__DIR__ . '/Fixture/skip_sensitive.php.inc',
__DIR__ . '/Fixture/skip_slashes.php.inc',