
| Current Path : /var/www/html1/rrr/web/core/tests/Drupal/KernelTests/Core/ServiceProvider/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //var/www/html1/rrr/web/core/tests/Drupal/KernelTests/Core/ServiceProvider/ServiceProviderTest.php |
<?php
namespace Drupal\KernelTests\Core\ServiceProvider;
use Drupal\KernelTests\KernelTestBase;
/**
* Tests service provider registration to the DIC.
*
* @group ServiceProvider
*/
class ServiceProviderTest extends KernelTestBase {
/**
* Modules to enable.
*
* @var array
*/
protected static $modules = ['file', 'service_provider_test', 'system'];
/**
* Tests that services provided by module service providers get registered to the DIC.
*/
public function testServiceProviderRegistration() {
$definition = $this->container->getDefinition('file.usage');
$this->assertTrue($definition->getClass() == 'Drupal\\service_provider_test\\TestFileUsage', 'Class has been changed');
$this->assertTrue(\Drupal::hasService('service_provider_test_class'), 'The service_provider_test_class service has been registered to the DIC');
}
/**
* Tests that the DIC keeps up with module enable/disable in the same request.
*/
public function testServiceProviderRegistrationDynamic() {
// Uninstall the module and ensure the service provider's service is not registered.
\Drupal::service('module_installer')->uninstall(['service_provider_test']);
$this->assertFalse(\Drupal::hasService('service_provider_test_class'), 'The service_provider_test_class service does not exist in the DIC.');
// Install the module and ensure the service provider's service is registered.
\Drupal::service('module_installer')->install(['service_provider_test']);
$this->assertTrue(\Drupal::hasService('service_provider_test_class'), 'The service_provider_test_class service exists in the DIC.');
}
}