[Process] fixed setting the timeout to null

This commit is contained in:
Fabien Potencier 2012-07-11 14:21:05 +02:00
parent 09d71ca927
commit f83401abd9
4 changed files with 28 additions and 2 deletions

View File

@ -595,7 +595,9 @@ class Process
public function setTimeout($timeout) public function setTimeout($timeout)
{ {
if (null === $timeout) { if (null === $timeout) {
return null; $this->timeout = null;
return;
} }
$timeout = (integer) $timeout; $timeout = (integer) $timeout;

View File

@ -91,7 +91,9 @@ class ProcessBuilder
public function setTimeout($timeout) public function setTimeout($timeout)
{ {
if (null === $timeout) { if (null === $timeout) {
return null; $this->timeout = null;
return;
} }
$timeout = (integer) $timeout; $timeout = (integer) $timeout;

View File

@ -92,4 +92,17 @@ class ProcessBuilderTest extends \PHPUnit_Framework_TestCase
$pb = new ProcessBuilder(); $pb = new ProcessBuilder();
$pb->setTimeout(-1); $pb->setTimeout(-1);
} }
public function testNullTimeout()
{
$pb = new ProcessBuilder();
$pb->setTimeout(10);
$pb->setTimeout(null);
$r = new \ReflectionObject($pb);
$p = $r->getProperty('timeout');
$p->setAccessible(true);
$this->assertNull($p->getValue($pb));
}
} }

View File

@ -35,6 +35,15 @@ class ProcessTest extends \PHPUnit_Framework_TestCase
$p->setTimeout(-1); $p->setTimeout(-1);
} }
public function testNullTimeout()
{
$p = new Process('');
$p->setTimeout(10);
$p->setTimeout(null);
$this->assertNull($p->getTimeout());
}
/** /**
* tests results from sub processes * tests results from sub processes
* *