function ExtensionSerializationTest::testServiceAppRouteUsage
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Extension/ExtensionSerializationTest.php \Drupal\Tests\Core\Extension\ExtensionSerializationTest::testServiceAppRouteUsage()
- 8.9.x core/tests/Drupal/Tests/Core/Extension/ExtensionSerializationTest.php \Drupal\Tests\Core\Extension\ExtensionSerializationTest::testServiceAppRouteUsage()
- 10 core/tests/Drupal/Tests/Core/Extension/ExtensionSerializationTest.php \Drupal\Tests\Core\Extension\ExtensionSerializationTest::testServiceAppRouteUsage()
Tests that the Extension class unserialize method uses the preferred root.
When the Extension unserialize method is called on serialized Extension object data, test that the Extension object's root property is set to the container's app.root and not the DRUPAL_ROOT constant if the service container app.root is available.
@covers ::__sleep @covers ::__wakeup
File
-
core/
tests/ Drupal/ Tests/ Core/ Extension/ ExtensionSerializationTest.php, line 48
Class
- ExtensionSerializationTest
- Tests Extension serialization.
Namespace
Drupal\Tests\Core\ExtensionCode
public function testServiceAppRouteUsage() : void {
$container = new ContainerBuilder();
// Set a dummy container app.root to test against.
$container->setParameter('app.root', 'vfs://dummy_app_root');
\Drupal::setContainer($container);
// Instantiate an Extension object for testing unserialization.
$extension = new Extension($container->getParameter('app.root'), 'module', 'core/modules/system/system.info.yml', 'system.module');
$extension = unserialize(serialize($extension));
$reflected_root = new \ReflectionProperty($extension, 'root');
$this->assertEquals('vfs://dummy_app_root', $reflected_root->getValue($extension));
// Change the app root and test serializing and unserializing again.
$container->setParameter('app.root', 'vfs://dummy_app_root2');
\Drupal::setContainer($container);
$extension = unserialize(serialize($extension));
$reflected_root = new \ReflectionProperty($extension, 'root');
$this->assertEquals('vfs://dummy_app_root2', $reflected_root->getValue($extension));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.