8000 [Console] Fix global console flag when used in chain · symfony/symfony@363cbaf · GitHub
[go: up one dir, main page]

Skip to content

Commit 363cbaf

Browse files
author
Amrouche Hamza
committed
[Console] Fix global console flag when used in chain
1 parent c963178 commit 363cbaf

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/Symfony/Component/Console/Input/ArgvInput.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,12 +168,12 @@ private function parseArgument($token)
168168
$arg = $this->definition->getArgument($c);
169169
$this->arguments[$arg->getName()] = $arg->isArray() ? array($token) : $token;
170170

171-
// if last argument isArray(), append token to last argument
171+
// if last argument isArray(), append token to last argument
172172
} elseif ($this->definition->hasArgument($c - 1) && $this->definition->getArgument($c - 1)->isArray()) {
173173
$arg = $this->definition->getArgument($c - 1);
174174
$this->arguments[$arg->getName()][] = $token;
175175

176-
// unexpected argument
176+
// unexpected argument
177177
} else {
178178
$all = $this->definition->getArguments();
179179
if (count($all)) {
@@ -282,6 +282,14 @@ public function hasParameterOption($values)
282282
if ($token === $value || 0 === strpos($token, $value.'=')) {
283283
return true;
284284
}
285+
286+
if (0 === strpos($token, '-') && 0 !== strpos($token, '--')) {
287+
$searchableToken = str_replace('-', '', $token);
288+
$searchableValue = str_replace('-', '', $value);
289+
if ('' !== $searchableToken && '' !== $searchableValue && false !== strpos($searchableToken, $searchableValue)) {
290+
return true;
291+
}
292+
}
285293
}
286294
}
287295

src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,9 @@ public function testHasParameterOption()
296296
$input = new ArgvInput(array('cli.php', '-f', 'foo'));
297297
$this->assertTrue($input->hasParameterOption('-f'), '->hasParameterOption() returns true if the given short option is in the raw input');
298298

299+
$input = new ArgvInput(array('cli.php', '-fh'));
300+
$this->assertTrue($input->hasParameterOption('-fh'), '->hasParameterOption() returns true if the given short option is in the raw input');
301+
299302
$input = new ArgvInput(array('cli.php', '--foo', 'foo'));
300303
$this->assertTrue($input->hasParameterOption('--foo'), '->hasParameterOption() returns true if the given short option is in the raw input');
301304

0 commit comments

Comments
 (0)
0