class ExecutableFinderTest in Zircon Profile 8.0
Same name and namespace in other branches
- 8 vendor/symfony/process/Tests/ExecutableFinderTest.php \Symfony\Component\Process\Tests\ExecutableFinderTest
@author Chris Smith <chris@cs278.org>
Hierarchy
- class \Symfony\Component\Process\Tests\ExecutableFinderTest extends \Symfony\Component\Process\Tests\PHPUnit_Framework_TestCase
Expanded class hierarchy of ExecutableFinderTest
File
- vendor/
symfony/ process/ Tests/ ExecutableFinderTest.php, line 19
Namespace
Symfony\Component\Process\TestsView source
class ExecutableFinderTest extends \PHPUnit_Framework_TestCase {
private $path;
protected function tearDown() {
if ($this->path) {
// Restore path if it was changed.
putenv('PATH=' . $this->path);
}
}
private function setPath($path) {
$this->path = getenv('PATH');
putenv('PATH=' . $path);
}
public function testFind() {
if (!defined('PHP_BINARY')) {
$this
->markTestSkipped('Requires the PHP_BINARY constant');
}
if (ini_get('open_basedir')) {
$this
->markTestSkipped('Cannot test when open_basedir is set');
}
$this
->setPath(dirname(PHP_BINARY));
$finder = new ExecutableFinder();
$result = $finder
->find($this
->getPhpBinaryName());
$this
->assertSamePath(PHP_BINARY, $result);
}
public function testFindWithDefault() {
if (ini_get('open_basedir')) {
$this
->markTestSkipped('Cannot test when open_basedir is set');
}
$expected = 'defaultValue';
$this
->setPath('');
$finder = new ExecutableFinder();
$result = $finder
->find('foo', $expected);
$this
->assertEquals($expected, $result);
}
public function testFindWithExtraDirs() {
if (!defined('PHP_BINARY')) {
$this
->markTestSkipped('Requires the PHP_BINARY constant');
}
if (ini_get('open_basedir')) {
$this
->markTestSkipped('Cannot test when open_basedir is set');
}
$this
->setPath('');
$extraDirs = array(
dirname(PHP_BINARY),
);
$finder = new ExecutableFinder();
$result = $finder
->find($this
->getPhpBinaryName(), null, $extraDirs);
$this
->assertSamePath(PHP_BINARY, $result);
}
public function testFindWithOpenBaseDir() {
if (!defined('PHP_BINARY')) {
$this
->markTestSkipped('Requires the PHP_BINARY constant');
}
if ('\\' === DIRECTORY_SEPARATOR) {
$this
->markTestSkipped('Cannot run test on windows');
}
if (ini_get('open_basedir')) {
$this
->markTestSkipped('Cannot test when open_basedir is set');
}
$this
->iniSet('open_basedir', dirname(PHP_BINARY) . (!defined('HHVM_VERSION') ? PATH_SEPARATOR . '/' : ''));
$finder = new ExecutableFinder();
$result = $finder
->find($this
->getPhpBinaryName());
$this
->assertSamePath(PHP_BINARY, $result);
}
public function testFindProcessInOpenBasedir() {
if (ini_get('open_basedir')) {
$this
->markTestSkipped('Cannot test when open_basedir is set');
}
if (!defined('PHP_BINARY')) {
$this
->markTestSkipped('Requires the PHP_BINARY constant');
}
if ('\\' === DIRECTORY_SEPARATOR) {
$this
->markTestSkipped('Cannot run test on windows');
}
$this
->setPath('');
$this
->iniSet('open_basedir', PHP_BINARY . (!defined('HHVM_VERSION') ? PATH_SEPARATOR . '/' : ''));
$finder = new ExecutableFinder();
$result = $finder
->find($this
->getPhpBinaryName(), false);
$this
->assertSamePath(PHP_BINARY, $result);
}
private function assertSamePath($expected, $tested) {
if ('\\' === DIRECTORY_SEPARATOR) {
$this
->assertEquals(strtolower($expected), strtolower($tested));
}
else {
$this
->assertEquals($expected, $tested);
}
}
private function getPhpBinaryName() {
return basename(PHP_BINARY, '\\' === DIRECTORY_SEPARATOR ? '.exe' : '');
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ExecutableFinderTest:: |
private | property | ||
ExecutableFinderTest:: |
private | function | ||
ExecutableFinderTest:: |
private | function | ||
ExecutableFinderTest:: |
private | function | ||
ExecutableFinderTest:: |
protected | function | ||
ExecutableFinderTest:: |
public | function | ||
ExecutableFinderTest:: |
public | function | ||
ExecutableFinderTest:: |
public | function | ||
ExecutableFinderTest:: |
public | function | ||
ExecutableFinderTest:: |
public | function |