Issue #2844181 by maxocub, Alex Bukach, alexpott: PluralTranslatableMarkup serialization error
parent
da1004c797
commit
87c1e2ee24
|
@ -157,4 +157,11 @@ class PluralTranslatableMarkup extends TranslatableMarkup {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function __sleep() {
|
||||||
|
return array_merge(parent::__sleep(), array('count'));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Drupal\Tests\Core\StringTranslation;
|
||||||
|
|
||||||
|
use Drupal\Core\DependencyInjection\ContainerBuilder;
|
||||||
|
use Drupal\Core\StringTranslation\PluralTranslatableMarkup;
|
||||||
|
use Drupal\Tests\UnitTestCase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests the TranslatableMarkup class.
|
||||||
|
*
|
||||||
|
* @coversDefaultClass \Drupal\Core\StringTranslation\PluralTranslatableMarkup
|
||||||
|
* @group StringTranslation
|
||||||
|
*/
|
||||||
|
class PluralTranslatableMarkupTest extends UnitTestCase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests serialization of PluralTranslatableMarkup().
|
||||||
|
*
|
||||||
|
* @dataProvider providerPluralTranslatableMarkupSerialization
|
||||||
|
*/
|
||||||
|
public function testPluralTranslatableMarkupSerialization($count, $expected_text) {
|
||||||
|
// Add a mock string translation service to the container.
|
||||||
|
$container = new ContainerBuilder();
|
||||||
|
$container->set('string_translation', $this->getStringTranslationStub());
|
||||||
|
\Drupal::setContainer($container);
|
||||||
|
|
||||||
|
// Create an object to serialize and unserialize.
|
||||||
|
$markup = new PluralTranslatableMarkup($count, 'singular @count', 'plural @count');
|
||||||
|
$serialized_markup = unserialize(serialize($markup));
|
||||||
|
$this->assertEquals($expected_text, $serialized_markup->render());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Data provider for ::testPluralTranslatableMarkupSerialization().
|
||||||
|
*/
|
||||||
|
public function providerPluralTranslatableMarkupSerialization() {
|
||||||
|
return [
|
||||||
|
[1, 'singular 1'],
|
||||||
|
[2, 'plural 2'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue