4 * This file is part of Psy Shell.
6 * (c) 2012-2017 Justin Hileman
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Psy\Test\CodeCleaner;
14 use Psy\CodeCleaner\UseStatementPass;
16 class UseStatementPassTest extends CodeCleanerTestCase
18 public function setUp()
20 $this->setPass(new UseStatementPass());
24 * @dataProvider useStatements
26 public function testProcess($from, $to)
28 $this->assertProcessesAs($from, $to);
31 public function useStatements()
35 "use StdClass as NotSoStd;\n\$std = new NotSoStd();",
36 '$std = new \\StdClass();',
39 "namespace Foo;\n\nuse StdClass as S;\n\$std = new S();",
40 "namespace Foo;\n\n\$std = new \\StdClass();",
43 "namespace Foo;\n\nuse \\StdClass as S;\n\$std = new S();",
44 "namespace Foo;\n\n\$std = new \\StdClass();",
47 "use Foo\\Bar as fb;\n\$baz = new fb\\Baz();",
48 '$baz = new \\Foo\\Bar\\Baz();',