diff --git a/src/Symfony/Component/Console/Input/StringInput.php b/src/Symfony/Component/Console/Input/StringInput.php index 93b1b83bb1..1bf1dc9c8e 100644 --- a/src/Symfony/Component/Console/Input/StringInput.php +++ b/src/Symfony/Component/Console/Input/StringInput.php @@ -37,9 +37,13 @@ class StringInput extends ArgvInput */ public function __construct($input, InputDefinition $definition = null) { - parent::__construct(array(), $definition); + parent::__construct(array(), null); $this->setTokens($this->tokenize($input)); + + if (null !== $definition) { + $this->bind($definition); + } } /** diff --git a/src/Symfony/Component/Console/Tests/Input/StringInputTest.php b/src/Symfony/Component/Console/Tests/Input/StringInputTest.php index fd252c87d3..1ce5fe6274 100644 --- a/src/Symfony/Component/Console/Tests/Input/StringInputTest.php +++ b/src/Symfony/Component/Console/Tests/Input/StringInputTest.php @@ -35,11 +35,14 @@ class StringInputTest extends \PHPUnit_Framework_TestCase array(new InputOption('foo', null, InputOption::VALUE_REQUIRED)) ); + // call to bind $input = new StringInput('--foo=bar'); $input->bind($definition); - $actual = $input->getOption('foo'); + $this->assertEquals('bar', $input->getOption('foo')); - $this->assertEquals('bar', $actual); + // definition in constructor + $input = new StringInput('--foo=bar', $definition); + $this->assertEquals('bar', $input->getOption('foo')); } public function getTokenizeData()