function SerializationTest::testSerializerComponentRegistration

Same name 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. 11.x 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 $e) {
        // Expected exception; just continue testing.
    }
}

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