From 32f190481a0144a6e715e16e78d58b721667422e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Simon?= Date: Fri, 1 Mar 2013 17:42:51 +0100 Subject: [PATCH 1/3] Revert "merged branch jfsimon/issue-6749 (PR #7220)" This reverts commit f52120bdd33bcc83157fc55ee088a564c727fa59, reversing changes made to 66c2be30d06bf8c9bee9e07aa57be245763c2478. --- src/Symfony/Component/Console/Input/ArgvInput.php | 1 - .../Console/Tests/Input/StringInputTest.php | 14 -------------- 2 files changed, 15 deletions(-) diff --git a/src/Symfony/Component/Console/Input/ArgvInput.php b/src/Symfony/Component/Console/Input/ArgvInput.php index 2618c0691a..9addf1483d 100644 --- a/src/Symfony/Component/Console/Input/ArgvInput.php +++ b/src/Symfony/Component/Console/Input/ArgvInput.php @@ -68,7 +68,6 @@ class ArgvInput extends Input protected function setTokens(array $tokens) { $this->tokens = $tokens; - $this->parse(); } /** diff --git a/src/Symfony/Component/Console/Tests/Input/StringInputTest.php b/src/Symfony/Component/Console/Tests/Input/StringInputTest.php index 4a165d4a30..031797ce74 100644 --- a/src/Symfony/Component/Console/Tests/Input/StringInputTest.php +++ b/src/Symfony/Component/Console/Tests/Input/StringInputTest.php @@ -12,8 +12,6 @@ namespace Symfony\Component\Console\Tests\Input; use Symfony\Component\Console\Input\StringInput; -use Symfony\Component\Console\Input\InputDefinition; -use Symfony\Component\Console\Input\InputOption; class StringInputTest extends \PHPUnit_Framework_TestCase { @@ -29,18 +27,6 @@ class StringInputTest extends \PHPUnit_Framework_TestCase $this->assertEquals($tokens, $p->getValue($input), $message); } - public function testInputOptionWithGivenString() - { - $definition = new InputDefinition( - array(new InputOption('foo', null, InputOption::VALUE_REQUIRED)) - ); - - $input = new StringInput('--foo=bar', $definition); - $actual = $input->getOption('foo'); - - $this->assertEquals('bar', $actual); - } - public function getTokenizeData() { return array( From 6b98883903d3bd598621f42850cb0bf8c5cde7de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Simon?= Date: Fri, 1 Mar 2013 15:41:03 +0100 Subject: [PATCH 2/3] [Console] added string input test --- .../Console/Tests/Input/StringInputTest.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/Symfony/Component/Console/Tests/Input/StringInputTest.php b/src/Symfony/Component/Console/Tests/Input/StringInputTest.php index 031797ce74..fd252c87d3 100644 --- a/src/Symfony/Component/Console/Tests/Input/StringInputTest.php +++ b/src/Symfony/Component/Console/Tests/Input/StringInputTest.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Console\Tests\Input; +use Symfony\Component\Console\Input\InputDefinition; +use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\StringInput; class StringInputTest extends \PHPUnit_Framework_TestCase @@ -27,6 +29,19 @@ class StringInputTest extends \PHPUnit_Framework_TestCase $this->assertEquals($tokens, $p->getValue($input), $message); } + public function testInputOptionWithGivenString() + { + $definition = new InputDefinition( + array(new InputOption('foo', null, InputOption::VALUE_REQUIRED)) + ); + + $input = new StringInput('--foo=bar'); + $input->bind($definition); + $actual = $input->getOption('foo'); + + $this->assertEquals('bar', $actual); + } + public function getTokenizeData() { return array( From 6681df0a12a1c882506543bd482ad423e12ed2e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Simon?= Date: Fri, 1 Mar 2013 17:50:10 +0100 Subject: [PATCH 3/3] [Console] fixed StringInput binding --- src/Symfony/Component/Console/Input/StringInput.php | 6 +++++- .../Component/Console/Tests/Input/StringInputTest.php | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) 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()