feature #30887 [FrameworkBundle] fix search in debug autowiring (sez-open)
This PR was merged into the 4.3-dev branch.
Discussion
----------
[FrameworkBundle] fix search in debug autowiring
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | #30493 <!-- #-prefixed issue number(s), if any -->
| License | MIT
| Doc PR |
<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
- Bug fixes must be submitted against the lowest branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too).
- Features and deprecations must be submitted against the master branch.
-->
Taking #30522 and finishing it with @nicolas-grekas comments.
Is the sentence ok ?
Commits
-------
fec4beaffc
fix debug:autowiringcommand
This commit is contained in:
commit
65b46a532c
|
@ -100,6 +100,7 @@ EOF
|
||||||
$hasAlias = [];
|
$hasAlias = [];
|
||||||
$all = $input->getOption('all');
|
$all = $input->getOption('all');
|
||||||
$previousId = '-';
|
$previousId = '-';
|
||||||
|
$serviceIdsNb = 0;
|
||||||
foreach ($serviceIds as $serviceId) {
|
foreach ($serviceIds as $serviceId) {
|
||||||
$text = [];
|
$text = [];
|
||||||
if (0 !== strpos($serviceId, $previousId)) {
|
if (0 !== strpos($serviceId, $previousId)) {
|
||||||
|
@ -127,11 +128,22 @@ EOF
|
||||||
$serviceLine .= ' - <fg=magenta>deprecated</>';
|
$serviceLine .= ' - <fg=magenta>deprecated</>';
|
||||||
}
|
}
|
||||||
} elseif (!$all) {
|
} elseif (!$all) {
|
||||||
|
++$serviceIdsNb;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$text[] = $serviceLine;
|
$text[] = $serviceLine;
|
||||||
$io->text($text);
|
$io->text($text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$io->newLine();
|
||||||
|
|
||||||
|
if (0 < $serviceIdsNb) {
|
||||||
|
$io->text(sprintf('%s more concrete service%s would be displayed when adding the "--all" option.', $serviceIdsNb, $serviceIdsNb > 1 ? 's' : ''));
|
||||||
|
}
|
||||||
|
if ($all) {
|
||||||
|
$io->text('Pro-tip: use interfaces in your type-hints instead of classes to benefit from the dependency inversion principle.');
|
||||||
|
}
|
||||||
|
|
||||||
$io->newLine();
|
$io->newLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,4 +72,29 @@ class DebugAutowiringCommandTest extends WebTestCase
|
||||||
$this->assertContains('No autowirable classes or interfaces found matching "foo_fake"', $tester->getErrorOutput());
|
$this->assertContains('No autowirable classes or interfaces found matching "foo_fake"', $tester->getErrorOutput());
|
||||||
$this->assertEquals(1, $tester->getStatusCode());
|
$this->assertEquals(1, $tester->getStatusCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testSearchNotAliasedService()
|
||||||
|
{
|
||||||
|
static::bootKernel(['test_case' => 'ContainerDebug', 'root_config' => 'config.yml']);
|
||||||
|
|
||||||
|
$application = new Application(static::$kernel);
|
||||||
|
$application->setAutoExit(false);
|
||||||
|
|
||||||
|
$tester = new ApplicationTester($application);
|
||||||
|
$tester->run(['command' => 'debug:autowiring', 'search' => 'redirect']);
|
||||||
|
|
||||||
|
$this->assertContains(' more concrete service would be displayed when adding the "--all" option.', $tester->getDisplay());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testSearchNotAliasedServiceWithAll()
|
||||||
|
{
|
||||||
|
static::bootKernel(['test_case' => 'ContainerDebug', 'root_config' => 'config.yml']);
|
||||||
|
|
||||||
|
$application = new Application(static::$kernel);
|
||||||
|
$application->setAutoExit(false);
|
||||||
|
|
||||||
|
$tester = new ApplicationTester($application);
|
||||||
|
$tester->run(['command' => 'debug:autowiring', 'search' => 'redirect', '--all' => true]);
|
||||||
|
$this->assertContains('Pro-tip: use interfaces in your type-hints instead of classes to benefit from the dependency inversion principle.', $tester->getDisplay());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue