4 * This file is part of Psy Shell.
6 * (c) 2012-2018 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\ImplicitReturnPass;
16 class ImplicitReturnPassTest extends CodeCleanerTestCase
18 public function setUp()
20 $this->setPass(new ImplicitReturnPass());
24 * @dataProvider implicitReturns
26 public function testProcess($from, $to)
28 $this->assertProcessesAs($from, $to);
31 public function implicitReturns()
35 ['foo()', 'return foo();'],
36 ['return 1', 'return 1;'],
37 ['', 'return new \Psy\CodeCleaner\NoReturnValue();'],
40 $from = 'echo "foo";';
43 return new \Psy\CodeCleaner\NoReturnValue();
45 $data[] = [$from, $to];
47 $from = 'if (true) { 1; } elseif (true) { 2; } else { 3; }';
56 return new \Psy\CodeCleaner\NoReturnValue();
58 $data[] = [$from, $to];
65 return new \Psy\CodeCleaner\NoReturnValue();
67 $data[] = [$from, $to];
92 return new \Psy\CodeCleaner\NoReturnValue();
94 $data[] = [$from, $to];
106 $data[] = [$from, $to];
108 $data[] = ['exit()', 'exit;'];