function OptimizedPhpArrayDumperTest::testGetServiceDefinitionWithReferenceToAlias
Same name in other branches
- 9 core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php \Drupal\Tests\Component\DependencyInjection\Dumper\OptimizedPhpArrayDumperTest::testGetServiceDefinitionWithReferenceToAlias()
- 8.9.x core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php \Drupal\Tests\Component\DependencyInjection\Dumper\OptimizedPhpArrayDumperTest::testGetServiceDefinitionWithReferenceToAlias()
- 11.x core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php \Drupal\Tests\Component\DependencyInjection\Dumper\OptimizedPhpArrayDumperTest::testGetServiceDefinitionWithReferenceToAlias()
Tests that references to aliases work correctly.
@covers ::getReferenceCall
@dataProvider publicPrivateDataProvider
File
-
core/
tests/ Drupal/ Tests/ Component/ DependencyInjection/ Dumper/ OptimizedPhpArrayDumperTest.php, line 505
Class
- OptimizedPhpArrayDumperTest
- @coversDefaultClass \Drupal\Component\DependencyInjection\Dumper\OptimizedPhpArrayDumper @group DependencyInjection
Namespace
Drupal\Tests\Component\DependencyInjection\DumperCode
public function testGetServiceDefinitionWithReferenceToAlias($public) : void {
$bar_definition = new Definition('\\stdClass');
$bar_definition_php_array = [
'class' => '\\stdClass',
];
if ($public) {
$bar_definition->setPublic(TRUE);
}
else {
$bar_definition->setPublic(FALSE);
$bar_definition_php_array['public'] = FALSE;
}
$bar_definition_php_array['arguments_count'] = 0;
$services['bar'] = $bar_definition;
$aliases['bar.alias'] = 'bar';
$foo = new Definition('\\stdClass');
$foo->setPublic(TRUE);
$foo->addArgument(new Reference('bar.alias'));
$services['foo'] = $foo;
$this->containerBuilder
->getAliases()
->willReturn($aliases);
$this->containerBuilder
->getDefinitions()
->willReturn($services);
$this->containerBuilder
->getDefinition('bar')
->willReturn($bar_definition);
$dump = $this->dumper
->getArray();
if ($public) {
$service_definition = static::getServiceCall('bar');
}
else {
$service_definition = static::getPrivateServiceCall('bar', $bar_definition_php_array, TRUE);
}
$data = [
'class' => '\\stdClass',
'arguments' => static::getCollection([
$service_definition,
]),
'arguments_count' => 1,
];
$this->assertEquals(static::serializeDefinition($data), $dump['services']['foo'], 'Expected definition matches dump.');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.