[Console] Fixed argument parsing when a single dash is passed.
This commit is contained in:
parent
b591419631
commit
42019f6774
|
@ -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);
|
||||
|
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
|
|
Reference in New Issue