platform/api/symfony/Bundle/FrameworkBundle/Tests/Functional/SerializerTest.yaml
2024-09-02 10:44:11 -07:00

82 lines
4.4 KiB
YAML

name: SerializerTest
class_comment: "# * @author K\xE9vin Dunglas <dunglas@gmail.com>"
dependencies:
- name: TranslatableBackedEnum
type: class
source: Symfony\Bundle\FrameworkBundle\Tests\Fixtures\TranslatableBackedEnum
- name: AppKernel
type: class
source: Symfony\Bundle\FrameworkBundle\Tests\Functional\app\AppKernel
- name: CompilerPassInterface
type: class
source: Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface
- name: ContainerBuilder
type: class
source: Symfony\Component\DependencyInjection\ContainerBuilder
properties:
- name: bars
visibility: public
comment: "# * @author K\xE9vin Dunglas <dunglas@gmail.com>\n# */\n# class SerializerTest\
\ extends AbstractWebTestCase\n# {\n# public function testDeserializeArrayOfObject()\n\
# {\n# static::bootKernel(['test_case' => 'Serializer']);\n# \n# $result = static::getContainer()->get('serializer.alias')->deserialize('{\"\
bars\": [{\"id\": 1}, {\"id\": 2}]}', Foo::class, 'json');\n# \n# $bar1 = new\
\ Bar();\n# $bar1->id = 1;\n# $bar2 = new Bar();\n# $bar2->id = 2;\n# \n# $expected\
\ = new Foo();\n# $expected->bars = [$bar1, $bar2];\n# \n# $this->assertEquals($expected,\
\ $result);\n# }\n# \n# public function testNormalizersAndEncodersUseDefaultContextConfigOption()\n\
# {\n# /** @var SerializerKernel $kernel */\n# $kernel = static::bootKernel(['test_case'\
\ => 'Serializer', 'root_config' => 'default_context.yaml']);\n# \n# foreach ($kernel->normalizersAndEncoders\
\ as $normalizerOrEncoderId) {\n# if (!static::getContainer()->has($normalizerOrEncoderId))\
\ {\n# continue;\n# }\n# \n# $normalizerOrEncoder = static::getContainer()->get($normalizerOrEncoderId);\n\
# \n# $reflectionObject = new \\ReflectionObject($normalizerOrEncoder);\n# $property\
\ = $reflectionObject->getProperty('defaultContext');\n# \n# $defaultContext =\
\ $property->getValue($normalizerOrEncoder);\n# \n# self::assertArrayHasKey('fake_context_option',\
\ $defaultContext);\n# self::assertEquals('foo', $defaultContext['fake_context_option']);\n\
# }\n# }\n# \n# protected static function getKernelClass(): string\n# {\n# return\
\ SerializerKernel::class;\n# }\n# }\n# \n# class SerializerKernel extends AppKernel\
\ implements CompilerPassInterface\n# {\n# public $normalizersAndEncoders = [\n\
# 'serializer.normalizer.property.alias', // Special case as this normalizer isn't\
\ tagged\n# ];\n# \n# public function process(ContainerBuilder $container): void\n\
# {\n# $services = array_merge(\n# $container->findTaggedServiceIds('serializer.normalizer'),\n\
# $container->findTaggedServiceIds('serializer.encoder')\n# );\n# foreach ($services\
\ as $serviceId => $attributes) {\n# $class = $container->getDefinition($serviceId)->getClass();\n\
# if (null === $reflectionConstructor = (new \\ReflectionClass($class))->getConstructor())\
\ {\n# continue;\n# }\n# foreach ($reflectionConstructor->getParameters() as $reflectionParam)\
\ {\n# if ('array $defaultContext' === $reflectionParam->getType()->getName().'\
\ $'.$reflectionParam->getName()) {\n# $this->normalizersAndEncoders[] = $serviceId.'.alias';\n\
# break;\n# }\n# }\n# }\n# }\n# \n# public function testSerializeTranslatableBackedEnum()\n\
# {\n# static::bootKernel(['test_case' => 'Serializer']);\n# \n# $serializer =\
\ static::getContainer()->get('serializer.alias');\n# \n# $this->assertEquals('GET',\
\ $serializer->serialize(TranslatableBackedEnum::Get, 'yaml'));\n# }\n# }\n# \n\
# class Foo\n# {\n# /**\n# * @var Bar[]"
- name: id
visibility: public
comment: '# * @var int'
methods:
- name: testDeserializeArrayOfObject
visibility: public
parameters: []
comment: null
- name: testNormalizersAndEncodersUseDefaultContextConfigOption
visibility: public
parameters: []
comment: null
- name: getKernelClass
visibility: protected
parameters: []
comment: null
- name: process
visibility: public
parameters:
- name: container
comment: null
- name: testSerializeTranslatableBackedEnum
visibility: public
parameters: []
comment: null
traits:
- Symfony\Bundle\FrameworkBundle\Tests\Fixtures\TranslatableBackedEnum
- Symfony\Bundle\FrameworkBundle\Tests\Functional\app\AppKernel
- Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface
- Symfony\Component\DependencyInjection\ContainerBuilder
interfaces:
- CompilerPassInterface