From 057e86161e48f99fe7f23c1d50211202fefc2ca2 Mon Sep 17 00:00:00 2001 From: Degory Valentine Date: Mon, 28 Feb 2011 10:40:32 -0500 Subject: [PATCH] added test to verify ArgvInput->parse() failure with array input definition --- src/Symfony/Component/Console/Input/ArgvInput.php | 2 +- .../Tests/Component/Console/Input/ArgvInputTest.php | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Console/Input/ArgvInput.php b/src/Symfony/Component/Console/Input/ArgvInput.php index 1b210e8759..5a33331278 100644 --- a/src/Symfony/Component/Console/Input/ArgvInput.php +++ b/src/Symfony/Component/Console/Input/ArgvInput.php @@ -164,7 +164,7 @@ class ArgvInput extends Input // unexpected argument } else { - throw new RuntimeException('Too many arguments.'); + throw new \RuntimeException('Too many arguments.'); } } diff --git a/tests/Symfony/Tests/Component/Console/Input/ArgvInputTest.php b/tests/Symfony/Tests/Component/Console/Input/ArgvInputTest.php index f9e701fc60..9e339ffae6 100644 --- a/tests/Symfony/Tests/Component/Console/Input/ArgvInputTest.php +++ b/tests/Symfony/Tests/Component/Console/Input/ArgvInputTest.php @@ -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()