From a642e4b9f1212fb1a2887aa7dc8e11996a34d911 Mon Sep 17 00:00:00 2001 From: ryunosuke Date: Mon, 9 Feb 2015 15:10:45 +0900 Subject: [PATCH] [Console] fixed ArrayInput, if array contains 0 key. --- src/Symfony/Component/Console/Input/ArrayInput.php | 6 ++++-- .../Component/Console/Tests/Input/ArrayInputTest.php | 9 +++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Console/Input/ArrayInput.php b/src/Symfony/Component/Console/Input/ArrayInput.php index f3222bb555..5743bb8af1 100644 --- a/src/Symfony/Component/Console/Input/ArrayInput.php +++ b/src/Symfony/Component/Console/Input/ArrayInput.php @@ -100,8 +100,10 @@ class ArrayInput extends Input $values = (array) $values; foreach ($this->parameters as $k => $v) { - if (is_int($k) && in_array($v, $values)) { - return true; + if (is_int($k)) { + if (in_array($v, $values)) { + return true; + } } elseif (in_array($k, $values)) { return $v; } diff --git a/src/Symfony/Component/Console/Tests/Input/ArrayInputTest.php b/src/Symfony/Component/Console/Tests/Input/ArrayInputTest.php index 7cf28e8f49..cc89083c6b 100644 --- a/src/Symfony/Component/Console/Tests/Input/ArrayInputTest.php +++ b/src/Symfony/Component/Console/Tests/Input/ArrayInputTest.php @@ -38,6 +38,15 @@ class ArrayInputTest extends \PHPUnit_Framework_TestCase $this->assertTrue($input->hasParameterOption('--foo'), '->hasParameterOption() returns true if an option is present in the passed parameters'); } + public function testGetParameterOption() + { + $input = new ArrayInput(array('name' => 'Fabien', '--foo' => 'bar')); + $this->assertEquals('bar', $input->getParameterOption('--foo'), '->getParameterOption() returns the option of specified name'); + + $input = new ArrayInput(array('Fabien', '--foo' => 'bar')); + $this->assertEquals('bar', $input->getParameterOption('--foo'), '->getParameterOption() returns the option of specified name'); + } + public function testParseArguments() { $input = new ArrayInput(array('name' => 'foo'), new InputDefinition(array(new InputArgument('name'))));