|
33 | 33 | use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory;
|
34 | 34 | use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface;
|
35 | 35 | use Symfony\Component\Serializer\Mapping\Loader\AttributeLoader;
|
| 36 | +use Symfony\Component\Serializer\NameConverter\MetadataAwareNameConverter; |
36 | 37 | use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
|
37 | 38 | use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer;
|
38 | 39 | use Symfony\Component\Serializer\Normalizer\ArrayDenormalizer;
|
|
54 | 55 | use Symfony\Component\Serializer\Tests\Fixtures\Attributes\AbstractDummy;
|
55 | 56 | use Symfony\Component\Serializer\Tests\Fixtures\Attributes\AbstractDummyFirstChild;
|
56 | 57 | use Symfony\Component\Serializer\Tests\Fixtures\Attributes\AbstractDummySecondChild;
|
| 58 | +use Symfony\Component\Serializer\Tests\Fixtures\Attributes\SerializedNameAttributeDummy; |
57 | 59 | use Symfony\Component\Serializer\Tests\Fixtures\DenormalizableDummy;
|
58 | 60 | use Symfony\Component\Serializer\Tests\Fixtures\DummyFirstChildQuux;
|
59 | 61 | use Symfony\Component\Serializer\Tests\Fixtures\DummyMessageInterface;
|
@@ -794,6 +796,18 @@ public function testDeserializeNullableIntInXml()
|
794 | 796 | $this->assertNull($obj->value);
|
795 | 797 | }
|
796 | 798 |
|
| 799 | + public function testDeserializeIntAsStringPropertyInXML() |
| 800 | + { |
| 801 | + $classMetadataFactory = new ClassMetadataFactory(new AttributeLoader()); |
| 802 | + $nameConverter = new MetadataAwareNameConverter($classMetadataFactory); |
| 803 | + $extractor = new PropertyInfoExtractor([], [new ReflectionExtractor()]); |
| 804 | + $serializer = new Serializer([new ObjectNormalizer($classMetadataFactory, $nameConverter, null, $extractor)], ['xml' => new XmlEncoder()]); |
| 805 | + |
| 806 | + $obj = $serializer->deserialize('<?xml version="1.0" encoding="UTF-8"?><NameAttributeDummy foo="123" />', SerializedNameAttributeDummy::class, 'xml'); |
| 807 | + |
| 808 | + $this->assertSame('123', $obj->foo); |
| 809 | + } |
| 810 | + |
797 | 811 | public function testUnionTypeDeserializable()
|
798 | 812 | {
|
799 | 813 | $classMetadataFactory = new ClassMetadataFactory(new AttributeLoader());
|
|
0 commit comments