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
12namespace Symfony\Component\Process\Tests;
13
14use PHPUnit\Framework\TestCase;
15use Symfony\Component\Process\PhpProcess;
16
17class PhpProcessTest extends TestCase
18{
19    public function testNonBlockingWorks()
20    {
21        $expected = 'hello world!';
22        $process = new PhpProcess(<<<PHP
23<?php echo '$expected';
24PHP
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;
35PHP
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