|
32 | 32 | use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory;
|
33 | 33 | use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface;
|
34 | 34 | use Symfony\Component\Serializer\Mapping\Loader\AttributeLoader;
|
| 35 | +use Symfony\Component\Serializer\NameConverter\MetadataAwareNameConverter; |
35 | 36 | use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
|
36 | 37 | use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer;
|
37 | 38 | use Symfony\Component\Serializer\Normalizer\ArrayDenormalizer;
|
|
51 | 52 | use Symfony\Component\Serializer\Tests\Fixtures\Attributes\AbstractDummy;
|
52 | 53 | use Symfony\Component\Serializer\Tests\Fixtures\Attributes\AbstractDummyFirstChild;
|
53 | 54 | use Symfony\Component\Serializer\Tests\Fixtures\Attributes\AbstractDummySecondChild;
|
| 55 | +use Symfony\Component\Serializer\Tests\Fixtures\Attributes\SerializedNameAttributeDummy; |
54 | 56 | use Symfony\Component\Serializer\Tests\Fixtures\DenormalizableDummy;
|
55 | 57 | use Symfony\Component\Serializer\Tests\Fixtures\DummyFirstChildQuux;
|
56 | 58 | use Symfony\Component\Serializer\Tests\Fixtures\DummyMessageInterface;
|
@@ -766,6 +768,19 @@ public function testDeserializeNullableIntInXml()
|
766 | 768 | $this->assertNull($obj->value);
|
767 | 769 | }
|
768 | 770 |
|
| 771 | + public function testDeserializeIntAsStringPropertyInXML() |
| 772 | + { |
| 773 | + $classMetadataFactory = new ClassMetadataFactory(new AttributeLoader()); |
| 774 | + $nameConverter = new MetadataAwareNameConverter($classMetadataFactory); |
| 775 | + $extractor = new PropertyInfoExtractor([], [new ReflectionExtractor()]); |
| 776 | + $serializer = new Serializer([new ObjectNormalizer($classMetadataFactory, $nameConverter, null, $extractor)], ['xml' => new XmlEncoder()]); |
| 777 | + |
| 778 | + $obj = $serializer->deserialize('<?xml version="1.0" encoding="UTF-8"?><NameAttributeDummy foo="123" />', SerializedNameAttributeDummy::class, 'xml'); |
| 779 | + |
| 780 | + $this->assertSame('123', $obj->foo); |
| 781 | + } |
| 782 | + |
| 783 | + |
769 | 784 | public function testUnionTypeDeserializable()
|
770 | 785 | {
|
771 | 786 | $classMetadataFactory = new ClassMetadataFactory(new AttributeLoader());
|
|
0 commit comments