function SerializationTest::testSerializerComponentRegistration

Same name and namespace in other branches
  1. 9 core/modules/serialization/tests/src/Kernel/SerializationTest.php \Drupal\Tests\serialization\Kernel\SerializationTest::testSerializerComponentRegistration()
  2. 8.9.x core/modules/serialization/tests/src/Kernel/SerializationTest.php \Drupal\Tests\serialization\Kernel\SerializationTest::testSerializerComponentRegistration()
  3. 10 core/modules/serialization/tests/src/Kernel/SerializationTest.php \Drupal\Tests\serialization\Kernel\SerializationTest::testSerializerComponentRegistration()

Confirms that modules can register normalizers and encoders.

File

core/modules/serialization/tests/src/Kernel/SerializationTest.php, line 40

Class

SerializationTest
Functional tests for serialization system.

Namespace

Drupal\Tests\serialization\Kernel

Code

public function testSerializerComponentRegistration() : void {
  $object = new \stdClass();
  $format = 'serialization_test';
  $expected = 'Normalized by SerializationTestNormalizer, Encoded by SerializationTestEncoder';
  // Ensure the serialization invokes the expected normalizer and encoder.
  $this->assertSame($expected, $this->serializer
    ->serialize($object, $format));
  // Ensure the serialization fails for an unsupported format.
  try {
    $this->serializer
      ->serialize($object, 'unsupported_format');
    $this->fail('The serializer was expected to throw an exception for an unsupported format, but did not.');
  } catch (UnexpectedValueException) {
    // Expected exception; just continue testing.
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.