
| Current Path : /var/www/html_old/abf/web/core/modules/locale/tests/src/Kernel/ |
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/html_old/abf/web/core/modules/locale/tests/src/Kernel/LocaleTranslationTest.php |
<?php
namespace Drupal\Tests\locale\Kernel;
use Drupal\locale\LocaleTranslation;
use Drupal\KernelTests\KernelTestBase;
/**
* @coversDefaultClass \Drupal\locale\LocaleTranslation
* @group locale
*/
class LocaleTranslationTest extends KernelTestBase {
/**
* {@inheritdoc}
*/
protected static $modules = [
'locale',
];
/**
* Tests that \Drupal\locale\LocaleTranslation is serializable.
*/
public function testSerializable() {
$translation = $this->container->get('string_translator.locale.lookup');
$this->assertInstanceOf(LocaleTranslation::class, $translation);
// Prove that serialization and deserialization works without errors.
$this->assertNotNull($translation);
$unserialized = unserialize(serialize($translation));
$this->assertInstanceOf(LocaleTranslation::class, $unserialized);
// Ensure that all properties on the unserialized object match the original.
$translation_reflection = new \ReflectionObject($translation);
$unserialized_reflection = new \ReflectionObject($unserialized);
// Ignore the '_serviceIds' property in the comparison.
$properties = array_filter($translation_reflection->getProperties(), function ($value) {
return $value->getName() !== '_serviceIds';
});
foreach ($properties as $value) {
$value->setAccessible(TRUE);
$unserialized_property = $unserialized_reflection->getProperty($value->getName());
$unserialized_property->setAccessible(TRUE);
$this->assertEquals($unserialized_property->getValue($unserialized), $value->getValue($translation));
}
}
}