* Dariusz Rumiński * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace PhpCsFixer\Tests\Linter; use PhpCsFixer\Linter\ProcessLinterProcessBuilder; use PhpCsFixer\Tests\TestCase; /** * @author Dariusz Rumiński * * @internal * * @covers \PhpCsFixer\Linter\ProcessLinterProcessBuilder */ final class ProcessLinterProcessBuilderTest extends TestCase { /** * @testWith ["php", "foo.php", "'php' '-l' 'foo.php'"] * ["C:\\Program Files\\php\\php.exe", "foo bar\\baz.php", "'C:\\Program Files\\php\\php.exe' '-l' 'foo bar\\baz.php'"] * * @requires OS Linux|Darwin */ public function testPrepareCommandOnPhpOnLinuxOrMac(string $executable, string $file, string $expected): void { $builder = new ProcessLinterProcessBuilder($executable); self::assertSame( $expected, $builder->build($file)->getCommandLine() ); } /** * @testWith ["php", "foo.php", "php -l foo.php"] * ["C:\\Program Files\\php\\php.exe", "foo bar\\baz.php", "\"C:\\Program Files\\php\\php.exe\" -l \"foo bar\\baz.php\""] * * @requires OS ^Win */ public function testPrepareCommandOnPhpOnWindows(string $executable, string $file, string $expected): void { $builder = new ProcessLinterProcessBuilder($executable); self::assertSame( $expected, $builder->build($file)->getCommandLine() ); } }