Mercurial > hg > isophonics-drupal-site
annotate core/modules/serialization/tests/src/Kernel/SerializationTest.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 namespace Drupal\Tests\serialization\Kernel; |
Chris@0 | 4 |
Chris@0 | 5 use Drupal\KernelTests\KernelTestBase; |
Chris@0 | 6 use Symfony\Component\Serializer\Exception\UnexpectedValueException; |
Chris@0 | 7 |
Chris@0 | 8 /** |
Chris@0 | 9 * Functional tests for serialization system. |
Chris@0 | 10 * |
Chris@0 | 11 * @group serialization |
Chris@0 | 12 */ |
Chris@0 | 13 class SerializationTest extends KernelTestBase { |
Chris@0 | 14 |
Chris@0 | 15 /** |
Chris@0 | 16 * Modules to enable. |
Chris@0 | 17 * |
Chris@0 | 18 * @var array |
Chris@0 | 19 */ |
Chris@0 | 20 public static $modules = ['serialization', 'serialization_test']; |
Chris@0 | 21 |
Chris@0 | 22 /** |
Chris@0 | 23 * The serializer service to test. |
Chris@0 | 24 * |
Chris@0 | 25 * @var \Symfony\Component\Serializer\SerializerInterface |
Chris@0 | 26 */ |
Chris@0 | 27 protected $serializer; |
Chris@0 | 28 |
Chris@0 | 29 protected function setUp() { |
Chris@0 | 30 parent::setUp(); |
Chris@0 | 31 $this->serializer = $this->container->get('serializer'); |
Chris@0 | 32 } |
Chris@0 | 33 |
Chris@0 | 34 /** |
Chris@0 | 35 * Confirms that modules can register normalizers and encoders. |
Chris@0 | 36 */ |
Chris@0 | 37 public function testSerializerComponentRegistration() { |
Chris@0 | 38 $object = new \stdClass(); |
Chris@0 | 39 $format = 'serialization_test'; |
Chris@0 | 40 $expected = 'Normalized by SerializationTestNormalizer, Encoded by SerializationTestEncoder'; |
Chris@0 | 41 |
Chris@0 | 42 // Ensure the serialization invokes the expected normalizer and encoder. |
Chris@0 | 43 $this->assertIdentical($this->serializer->serialize($object, $format), $expected); |
Chris@0 | 44 |
Chris@0 | 45 // Ensure the serialization fails for an unsupported format. |
Chris@0 | 46 try { |
Chris@0 | 47 $this->serializer->serialize($object, 'unsupported_format'); |
Chris@0 | 48 $this->fail('The serializer was expected to throw an exception for an unsupported format, but did not.'); |
Chris@0 | 49 } |
Chris@0 | 50 catch (UnexpectedValueException $e) { |
Chris@0 | 51 $this->pass('The serializer threw an exception for an unsupported format.'); |
Chris@0 | 52 } |
Chris@0 | 53 } |
Chris@0 | 54 |
Chris@0 | 55 } |