added test to verify ArgvInput->parse() failure with array input definition
This commit is contained in:
parent
0306c9aa66
commit
057e86161e
@ -164,7 +164,7 @@ class ArgvInput extends Input
|
||||
|
||||
// unexpected argument
|
||||
} else {
|
||||
throw new RuntimeException('Too many arguments.');
|
||||
throw new \RuntimeException('Too many arguments.');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -135,6 +135,14 @@ class ArgvInputTest extends \PHPUnit_Framework_TestCase
|
||||
$input = new TestInput(array('cli.php', '-fbbar'));
|
||||
$input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL))));
|
||||
$this->assertEquals(array('foo' => 'bbar', 'bar' => null), $input->getOptions(), '->parse() parses short options when they are aggregated as a single one and one of them takes a value');
|
||||
|
||||
try {
|
||||
$input = new TestInput(array('cli.php', 'foo', 'bar', 'baz', 'bat'));
|
||||
$input->bind(new InputDefinition(array(new InputArgument('name', InputArgument::IS_ARRAY))));
|
||||
$this->assertEquals(array('name' => array('foo', 'bar', 'baz', 'bat')), $input->getArguments(), '->parse() parses array arguments');
|
||||
} catch (\RuntimeException $e) {
|
||||
$this->assertNotEquals('Too many arguments.', $e->getMessage(), '->parse() parses array arguments');
|
||||
}
|
||||
}
|
||||
|
||||
public function testGetFirstArgument()
|
||||
|
Reference in New Issue
Block a user