/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php
97 строк
3 KB
Alexander M. Turek
[HttpKernel][FrameworkBundle] Deprecate Bundle::registerCommands()
24 мар 2026, 15:39
24 мар 2026, 15:39
d6e177b
Код
Авторство
О чём код?
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Tests\Bundle; use PHPUnit\Framework\Attributes\Group; use PHPUnit\Framework\Attributes\IgnoreDeprecations; use PHPUnit\Framework\TestCase; use Symfony\Component\Config\Loader\LoaderInterface; use Symfony\Component\Console\Application; use Symfony\Component\HttpKernel\Bundle\Bundle; use Symfony\Component\HttpKernel\Kernel; use Symfony\Component\HttpKernel\Tests\Fixtures\BundleCompilerPass\BundleAsCompilerPassBundle; use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\ExtensionPresentBundle; class BundleTest extends TestCase { public function testGetContainerExtension() { $bundle = new ExtensionPresentBundle(); $this->assertInstanceOf( 'Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\DependencyInjection\ExtensionPresentExtension', $bundle->getContainerExtension() ); } public function testBundleNameIsGuessedFromClass() { $bundle = new GuessedNameBundle(); $this->assertSame('Symfony\Component\HttpKernel\Tests\Bundle', $bundle->getNamespace()); $this->assertSame('GuessedNameBundle', $bundle->getName()); } public function testBundleNameCanBeExplicitlyProvided() { $bundle = new NamedBundle(); $this->assertSame('ExplicitlyNamedBundle', $bundle->getName()); $this->assertSame('Symfony\Component\HttpKernel\Tests\Bundle', $bundle->getNamespace()); $this->assertSame('ExplicitlyNamedBundle', $bundle->getName()); } public function testBundleAsCompilerPass() { $kernel = new class('test', true) extends Kernel { public function registerBundles(): iterable { yield new BundleAsCompilerPassBundle(); } public function registerContainerConfiguration(LoaderInterface $loader): void { } public function getProjectDir(): string { return sys_get_temp_dir().'/bundle_as_compiler_pass'; } }; $kernel->boot(); $this->assertTrue($kernel->getContainer()->has('foo')); } #[Group('legacy')] #[IgnoreDeprecations] public function testRegisterCommandsIsDeprecated() { $bundle = new class extends Bundle {}; $this->expectUserDeprecationMessage('Since symfony/http-kernel 8.1: The "Symfony\Component\HttpKernel\Bundle\Bundle::registerCommands()" method is deprecated, use the #[AsCommand] attribute or the "console.command" service tag instead of overriding this method'); $bundle->registerCommands(self::createStub(Application::class)); } } class NamedBundle extends Bundle { public function __construct() { $this->name = 'ExplicitlyNamedBundle'; } } class GuessedNameBundle extends Bundle { }