3 namespace Drupal\Tests\Core\Serialization;
5 use Drupal\Component\Serialization\SerializationInterface;
6 use Drupal\Core\Serialization\Yaml;
7 use Drupal\Core\Site\Settings;
8 use Drupal\Tests\UnitTestCase;
11 * @coversDefaultClass \Drupal\Core\Serialization\Yaml
12 * @group Serialization
14 class YamlTest extends UnitTestCase {
17 * Test that the overridden serializer is called.
19 * @covers ::getSerializer
20 * @runInSeparateProcess
22 public function testGetSeralization() {
23 new Settings(['yaml_parser_class' => YamlParserProxy::class]);
25 $this->assertEquals(YamlParserProxy::class, Settings::get('yaml_parser_class'));
27 $mock = $this->getMockBuilder('\stdClass')
28 ->setMethods(['encode', 'decode', 'getFileExtension'])
31 ->expects($this->once())
33 YamlParserProxy::setMock($mock);
41 class YamlParserProxy implements SerializationInterface {
44 * @var \Drupal\Component\Serialization\SerializationInterface
46 protected static $mock;
48 public static function setMock($mock) {
49 static::$mock = $mock;
52 public static function encode($data) {
53 return static::$mock->encode($data);
56 public static function decode($raw) {
57 return static::$mock->decode($raw);
60 public static function getFileExtension() {
61 return static::$mock->getFileExtension();