8000 [Console] Fix setting aliases & hidden via name · symfony/symfony@c37baa8 · GitHub
[go: up one dir, main page]

Skip to content

Commit c37baa8

Browse files
committed
[Console] Fix setting aliases & hidden via name
1 parent 53b6121 commit c37baa8

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

src/Symfony/Component/Console/Command/Command.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,13 @@ public function __construct(?string $name = null)
9797
if (self::class !== (new \ReflectionMethod($this, 'getDefaultName'))->class) {
9898
trigger_deprecation('symfony/console', '7.3', 'Overriding "Command::getDefaultName()" in "%s" is deprecated and will be removed in Symfony 8.0, use the #[AsCommand] attribute instead.', static::class);
9999

100-
$defaultName = static::getDefaultName();
100+
$name = static::getDefaultName();
101101
} else {
102-
$defaultName = $attribute?->name;
102+
$name = $attribute?->name;
103103
}
104104
}
105105

106-
if (null === $name && null !== $name = $defaultName) {
106+
if (null !== $name) {
107107
$aliases = explode('|', $name);
108108

109109
if ('' === $name = array_shift($aliases)) {

src/Symfony/Component/Console/Tests/Command/CommandTest.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,19 @@ public function testGetSetAliases()
205205
$this->assertEquals(['name1'], $command->getAliases(), '->setAliases() sets the aliases');
206206
}
207207

208+
/**
209+
* @testWith ["name|alias1|alias2", "name", ["alias1", "alias2"], false]
210+
* ["|alias1|alias2", "alias1", ["alias2"], true]
211+
*/
212+
public function testSetAliasesAndHiddenViaName(string $name, string $expectedName, array $expectedAliases, bool $expectedHidden)
213+
{
214+
$command = new Command($name);
215+
216+
self::assertSame($expectedName, $command->getName());
217+
self::assertSame($expectedHidden, $command->isHidden());
218+
self::assertSame($expectedAliases, $command->getAliases());
219+
}
220+
208221
public function testGetSynopsis()
209222
{
210223
$command = new \TestCommand();

0 commit comments

Comments
 (0)
0