function OptimizedPhpArrayDumperTest::testGetServiceDefinitionForObjectServiceId
Same name in other branches
- 10 core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php \Drupal\Tests\Component\DependencyInjection\Dumper\OptimizedPhpArrayDumperTest::testGetServiceDefinitionForObjectServiceId()
Tests that the correct RuntimeException is thrown for dumping an object.
@covers ::dumpValue @group legacy
File
-
core/
tests/ Drupal/ Tests/ Component/ DependencyInjection/ Dumper/ OptimizedPhpArrayDumperTest.php, line 590
Class
- OptimizedPhpArrayDumperTest
- @coversDefaultClass \Drupal\Component\DependencyInjection\Dumper\OptimizedPhpArrayDumper @group DependencyInjection
Namespace
Drupal\Tests\Component\DependencyInjection\DumperCode
public function testGetServiceDefinitionForObjectServiceId() {
$service = new \stdClass();
$service->_serviceId = 'foo';
$services['foo'] = new Definition('\\stdClass');
$services['bar'] = new Definition('\\stdClass');
$services['bar']->addArgument($service);
foreach ($services as $s) {
$s->setPublic(TRUE);
}
$this->containerBuilder
->getDefinitions()
->willReturn($services);
$this->containerBuilder
->getDefinition('foo')
->willReturn($services['foo']);
$this->containerBuilder
->getDefinition('bar')
->willReturn($services['bar']);
$this->expectDeprecation('_serviceId is deprecated in drupal:9.5.0 and is removed from drupal:11.0.0. Use \\Drupal\\Core\\DrupalKernelInterface::getServiceIdMapping() instead. See https://www.drupal.org/node/3292540');
$a = $this->dumper
->getArray();
$this->assertEquals($this->serializeDefinition([
'class' => '\\stdClass',
// Legacy code takes care of converting _serviceId into this.
'arguments' => $this->getCollection([
$this->getServiceCall('foo'),
]),
'arguments_count' => 1,
]), $a['services']['bar']);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.