From 42019f6774d5c6a6ea41bdd214e1f7a948af8068 Mon Sep 17 00:00:00 2001 From: Jakub Zalas Date: Thu, 12 Sep 2013 21:51:59 +0100 Subject: [PATCH] [Console] Fixed argument parsing when a single dash is passed. --- src/Symfony/Component/Console/Input/ArgvInput.php | 2 +- .../Component/Console/Tests/Input/ArgvInputTest.php | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Console/Input/ArgvInput.php b/src/Symfony/Component/Console/Input/ArgvInput.php index 80bf1519bb..9d5be7b017 100644 --- a/src/Symfony/Component/Console/Input/ArgvInput.php +++ b/src/Symfony/Component/Console/Input/ArgvInput.php @@ -84,7 +84,7 @@ class ArgvInput extends Input $parseOptions = false; } elseif ($parseOptions && 0 === strpos($token, '--')) { $this->parseLongOption($token); - } elseif ($parseOptions && '-' === $token[0]) { + } elseif ($parseOptions && '-' === $token[0] && '-' !== $token) { $this->parseShortOption($token); } else { $this->parseArgument($token); diff --git a/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php b/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php index cd4dceb661..cac1557a76 100644 --- a/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php +++ b/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php @@ -254,4 +254,11 @@ class ArgvInputTest extends \PHPUnit_Framework_TestCase array(array('app/console', 'foo:bar', '--env=dev', '--en=1'), array('--en'), '1'), ); } + + public function testParseSingleDashAsArgument() + { + $input = new ArgvInput(array('cli.php', '-')); + $input->bind(new InputDefinition(array(new InputArgument('file')))); + $this->assertEquals(array('file' => '-'), $input->getArguments(), '->parse() parses single dash as an argument'); + } }