53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
|
<?php
|
||
|
|
||
|
/*
|
||
|
* This file is part of Psy Shell.
|
||
|
*
|
||
|
* (c) 2012-2017 Justin Hileman
|
||
|
*
|
||
|
* For the full copyright and license information, please view the LICENSE
|
||
|
* file that was distributed with this source code.
|
||
|
*/
|
||
|
|
||
|
namespace Psy\Test\CodeCleaner;
|
||
|
|
||
|
use Psy\CodeCleaner\UseStatementPass;
|
||
|
|
||
|
class UseStatementPassTest extends CodeCleanerTestCase
|
||
|
{
|
||
|
public function setUp()
|
||
|
{
|
||
|
$this->setPass(new UseStatementPass());
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @dataProvider useStatements
|
||
|
*/
|
||
|
public function testProcess($from, $to)
|
||
|
{
|
||
|
$this->assertProcessesAs($from, $to);
|
||
|
}
|
||
|
|
||
|
public function useStatements()
|
||
|
{
|
||
|
return array(
|
||
|
array(
|
||
|
"use StdClass as NotSoStd;\n\$std = new NotSoStd();",
|
||
|
'$std = new \\StdClass();',
|
||
|
),
|
||
|
array(
|
||
|
"namespace Foo;\n\nuse StdClass as S;\n\$std = new S();",
|
||
|
"namespace Foo;\n\n\$std = new \\StdClass();",
|
||
|
),
|
||
|
array(
|
||
|
"namespace Foo;\n\nuse \\StdClass as S;\n\$std = new S();",
|
||
|
"namespace Foo;\n\n\$std = new \\StdClass();",
|
||
|
),
|
||
|
array(
|
||
|
"use Foo\\Bar as fb;\n\$baz = new fb\\Baz();",
|
||
|
'$baz = new \\Foo\\Bar\\Baz();',
|
||
|
),
|
||
|
);
|
||
|
}
|
||
|
}
|