Yaffs site version 1.1
[yaffs-website] / vendor / psy / psysh / test / Psy / Test / CodeCleaner / UseStatementPassTest.php
1 <?php
2
3 /*
4  * This file is part of Psy Shell.
5  *
6  * (c) 2012-2017 Justin Hileman
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Psy\Test\CodeCleaner;
13
14 use Psy\CodeCleaner\UseStatementPass;
15
16 class UseStatementPassTest extends CodeCleanerTestCase
17 {
18     public function setUp()
19     {
20         $this->setPass(new UseStatementPass());
21     }
22
23     /**
24      * @dataProvider useStatements
25      */
26     public function testProcess($from, $to)
27     {
28         $this->assertProcessesAs($from, $to);
29     }
30
31     public function useStatements()
32     {
33         return array(
34             array(
35                 "use StdClass as NotSoStd;\n\$std = new NotSoStd();",
36                 '$std = new \\StdClass();',
37             ),
38             array(
39                 "namespace Foo;\n\nuse StdClass as S;\n\$std = new S();",
40                 "namespace Foo;\n\n\$std = new \\StdClass();",
41             ),
42             array(
43                 "namespace Foo;\n\nuse \\StdClass as S;\n\$std = new S();",
44                 "namespace Foo;\n\n\$std = new \\StdClass();",
45             ),
46             array(
47                 "use Foo\\Bar as fb;\n\$baz = new fb\\Baz();",
48                 '$baz = new \\Foo\\Bar\\Baz();',
49             ),
50         );
51     }
52 }