Mercurial > hg > isophonics-drupal-site
diff vendor/psy/psysh/test/CodeCleaner/UseStatementPassTest.php @ 16:c2387f117808
Routine composer update
author | Chris Cannam |
---|---|
date | Tue, 10 Jul 2018 15:07:59 +0100 |
parents | 5fb285c0d0e3 |
children | 129ea1e6d783 |
line wrap: on
line diff
--- a/vendor/psy/psysh/test/CodeCleaner/UseStatementPassTest.php Thu Apr 26 11:26:54 2018 +0100 +++ b/vendor/psy/psysh/test/CodeCleaner/UseStatementPassTest.php Tue Jul 10 15:07:59 2018 +0100 @@ -55,6 +55,48 @@ "namespace Foo;\nuse Bar;\n\$baz = new Bar\\Baz();", "namespace Foo;\n\n\$baz = new \\Bar\\Baz();", ], + [ + "namespace Foo;\n\nuse \\StdClass as S;\n\$std = new S();\nnamespace Foo;\n\n\$std = new S();", + "namespace Foo;\n\n\$std = new \\StdClass();\nnamespace Foo;\n\n\$std = new \\StdClass();", + ], + [ + "namespace Foo;\n\nuse \\StdClass as S;\n\$std = new S();\nnamespace Bar;\n\n\$std = new S();", + "namespace Foo;\n\n\$std = new \\StdClass();\nnamespace Bar;\n\n\$std = new S();", + ], + [ + "use Foo\\Bar as fb, Qux as Q;\n\$baz = new fb\\Baz();\n\$qux = new Q();", + "\$baz = new \\Foo\\Bar\\Baz();\n\$qux = new \\Qux();", + ], + ]; + } + + /** + * @dataProvider groupUseStatements + */ + public function testGroupUseProcess($from, $to) + { + $this->assertProcessesAs($from, $to); + } + + public function groupUseStatements() + { + if (version_compare(PHP_VERSION, '7.0', '<')) { + $this->markTestSkipped(); + } + + return [ + [ + "use Foo\\{Bar, Baz, Qux as Q};\n\$bar = new Bar();\n\$baz = new Baz();\n\$qux = new Q();", + "\$bar = new \\Foo\\Bar();\n\$baz = new \\Foo\\Baz();\n\$qux = new \\Foo\\Qux();", + ], + [ + "use X\\{Foo, Bar as B};\n\$foo = new Foo();\n\$baz = new B\\Baz();", + "\$foo = new \\X\\Foo();\n\$baz = new \\X\\Bar\\Baz();", + ], + [ + "use X\\{Foo, Bar as B};\n\$foo = new Foo();\n\$bar = new Bar();\n\$baz = new B\\Baz();", + "\$foo = new \\X\\Foo();\n\$bar = new Bar();\n\$baz = new \\X\\Bar\\Baz();", + ], ]; } }