From caa902d4b4ae7fadc027e5a24625b2a5f32bf962 Mon Sep 17 00:00:00 2001 From: SpacePossum Date: Wed, 27 Jul 2016 12:20:49 +0200 Subject: [PATCH 1/5] Overcomplete argument exception message tweak. --- src/Symfony/Component/Console/Input/ArgvInput.php | 7 ++++++- .../Component/Console/Tests/Input/ArgvInputTest.php | 12 +++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Console/Input/ArgvInput.php b/src/Symfony/Component/Console/Input/ArgvInput.php index 1732387f7b375..a0dd22cd69d2a 100644 --- a/src/Symfony/Component/Console/Input/ArgvInput.php +++ b/src/Symfony/Component/Console/Input/ArgvInput.php @@ -174,7 +174,12 @@ private function parseArgument($token) // unexpected argument } else { - throw new \RuntimeException('Too many arguments.'); + $all = $this->definition->getArguments(); + if (count($all)) { + throw new \RuntimeException(sprintf('Too many arguments, expected arguments "%s".', implode(', ', array_keys($all)))); + } + + throw new \RuntimeException(sprintf('No argument expected, got "%s".', $token)); } } diff --git a/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php b/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php index d2c540e6fe418..0492869aab60a 100644 --- a/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php +++ b/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php @@ -183,7 +183,17 @@ public function provideInvalidInput() array( array('cli.php', 'foo', 'bar'), new InputDefinition(), - 'Too many arguments.', + 'No argument expected, got "foo".', + ), + array( + array('cli.php', 'foo', 'bar'), + new InputDefinition(array(new InputArgument('number'))), + 'Too many arguments, expected arguments "number".', + ), + array( + array('cli.php', 'foo', 'bar', 'zzz'), + new InputDefinition(array(new InputArgument('number'), new InputArgument('county'))), + 'Too many arguments, expected arguments "number, county".', ), array( array('cli.php', '--foo'), From 828c70e882b9bb3bb5a0cdafba68fcddd467ea2d Mon Sep 17 00:00:00 2001 From: SpacePossum Date: Thu, 28 Jul 2016 14:06:25 +0200 Subject: [PATCH 2/5] Update ArgvInput.php --- src/Symfony/Component/Console/Input/ArgvInput.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Console/Input/ArgvInput.php b/src/Symfony/Component/Console/Input/ArgvInput.php index a0dd22cd69d2a..49beddd5626f2 100644 --- a/src/Symfony/Component/Console/Input/ArgvInput.php +++ b/src/Symfony/Component/Console/Input/ArgvInput.php @@ -176,10 +176,10 @@ private function parseArgument($token) } else { $all = $this->definition->getArguments(); if (count($all)) { - throw new \RuntimeException(sprintf('Too many arguments, expected arguments "%s".', implode(', ', array_keys($all)))); + throw new \RuntimeException(sprintf('Too many arguments, expected arguments "%s".', implode('" "', array_keys($all)))); } - throw new \RuntimeException(sprintf('No argument expected, got "%s".', $token)); + throw new \RuntimeException(sprintf('No arguments expected got "%s".', $token)); } } From 1c082ee2ad2c10600bacff3ed75eede03dab6567 Mon Sep 17 00:00:00 2001 From: SpacePossum Date: Thu, 28 Jul 2016 14:07:13 +0200 Subject: [PATCH 3/5] Update ArgvInputTest.php --- src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php b/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php index 0492869aab60a..6313c30aa9b67 100644 --- a/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php +++ b/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php @@ -183,7 +183,7 @@ public function provideInvalidInput() array( array('cli.php', 'foo', 'bar'), new InputDefinition(), - 'No argument expected, got "foo".', + 'No argument expected got "foo".', ), array( array('cli.php', 'foo', 'bar'), @@ -193,7 +193,7 @@ public function provideInvalidInput() array( array('cli.php', 'foo', 'bar', 'zzz'), new InputDefinition(array(new InputArgument('number'), new InputArgument('county'))), - 'Too many arguments, expected arguments "number, county".', + 'Too many arguments, expected arguments "number" "county".', ), array( array('cli.php', '--foo'), From d4571bb192c53764e94d6464384b5ebce18c0058 Mon Sep 17 00:00:00 2001 From: SpacePossum Date: Thu, 28 Jul 2016 19:32:25 +0200 Subject: [PATCH 4/5] Update ArgvInputTest.php --- src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php b/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php index 6313c30aa9b67..3b0dc3f231659 100644 --- a/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php +++ b/src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php @@ -183,7 +183,7 @@ public function provideInvalidInput() array( array('cli.php', 'foo', 'bar'), new InputDefinition(), - 'No argument expected got "foo".', + 'No arguments expected, got "foo".', ), array( array('cli.php', 'foo', 'bar'), From 6d33c29d8b69e6264648e6cb1d94a90e4495c463 Mon Sep 17 00:00:00 2001 From: SpacePossum Date: Thu, 28 Jul 2016 19:32:41 +0200 Subject: [PATCH 5/5] Update ArgvInput.php --- src/Symfony/Component/Console/Input/ArgvInput.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Console/Input/ArgvInput.php b/src/Symfony/Component/Console/Input/ArgvInput.php index 49beddd5626f2..f18d6e189970c 100644 --- a/src/Symfony/Component/Console/Input/ArgvInput.php +++ b/src/Symfony/Component/Console/Input/ArgvInput.php @@ -179,7 +179,7 @@ private function parseArgument($token) throw new \RuntimeException(sprintf('Too many arguments, expected arguments "%s".', implode('" "', array_keys($all)))); } - throw new \RuntimeException(sprintf('No arguments expected got "%s".', $token)); + throw new \RuntimeException(sprintf('No arguments expected, got "%s".', $token)); } }