1 <?php 2 3 /* 4 * This file is part of the Symfony package. 5 * 6 * (c) Fabien Potencier <fabien@symfony.com> 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 Symfony\Component\Process\Tests; 13 14 use PHPUnit\Framework\TestCase; 15 use Symfony\Component\Process\PhpProcess; 16 17 class PhpProcessTest extends TestCase 18 { 19 public function testNonBlockingWorks() 20 { 21 $expected = 'hello world!'; 22 $process = new PhpProcess(<<<PHP 23 <?php echo '$expected'; 24 PHP 25 ); 26 $process->start(); 27 $process->wait(); 28 $this->assertEquals($expected, $process->getOutput()); 29 } 30 31 public function testCommandLine() 32 { 33 $process = new PhpProcess(<<<'PHP' 34 <?php echo phpversion().PHP_SAPI; 35 PHP 36 ); 37 38 $commandLine = $process->getCommandLine(); 39 40 $process->start(); 41 $this->assertStringContainsString($commandLine, $process->getCommandLine(), '::getCommandLine() returns the command line of PHP after start'); 42 43 $process->wait(); 44 $this->assertStringContainsString($commandLine, $process->getCommandLine(), '::getCommandLine() returns the command line of PHP after wait'); 45 46 $this->assertSame(\PHP_VERSION.\PHP_SAPI, $process->getOutput()); 47 } 48 } 49