8000 [Serializer] Fix denormalizing abstract part headers in MimeMessageNo… · symfony/symfony@71c016a · GitHub
[go: up one dir, main page]

Skip to content

Commit 71c016a

Browse files
committed
[Serializer] Fix denormalizing abstract part headers in MimeMessageNormalizer
1 parent 8d6f29a commit 71c016a

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

src/Symfony/Component/Mime/Tests/MessageTest.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ public function testSymfonySerialize()
168168
),
169169
new DataPart('text data', 'text.txt')
170170
);
171+
$body->getHeaders()->addHeader('foo', 'bar');
171172
$e = new Message((new Headers())->addMailboxListHeader('To', ['you@example.com']), $body);
172173
$expected = clone $e;
173174

@@ -232,7 +233,17 @@ public function testSymfonySerialize()
232233
"class": "Symfony\\\\Component\\\\Mime\\\\Part\\\\DataPart"
233234
}
234235
],
235-
"headers": [],
236+
"headers": {
237+
"foo": [
238+
{
239+
"value": "bar",
240+
"name": "foo",
241+
"lineLength": 76,
242+
"lang": null,
243+
"charset": "utf-8"
244+
}
245+
]
246+
},
236247
"class": "Symfony\\\\Component\\\\Mime\\\\Part\\\\Multipart\\\\MixedPart"
237248
},
238249
"message": null
@@ -252,7 +263,7 @@ public function testSymfonySerialize()
252263
$this->assertSame($expectedJson, json_encode(json_decode($serialized), \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES));
253264

254265
$n = $serializer->deserialize($serialized, Message::class, 'json');
255-
$this->assertEquals($expected->getHeaders(), $n->getHeaders());
266+
$this->assertEquals($expected, $n);
256267

257268
$serialized = $serializer->serialize($e, 'json');
258269
$this->assertSame($expectedJson, json_encode(json_decode($serialized), \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES));

src/Symfony/Component/Mime/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
2929
"symfony/property-access": "^4.4|^5.1|^6.0",
3030
"symfony/property-info": "^4.4|^5.1|^6.0",
31-
"symfony/serializer": "^5.4.14|~6.0.14|^6.1.6"
31+
"symfony/serializer": "^5.4.26|^6.2.13"
3232
},
3333
"conflict": {
3434
"egulias/email-validator": "~3.0.0",

src/Symfony/Component/Serializer/Normalizer/MimeMessageNormalizer.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ public function denormalize($data, string $type, string $format = null, array $c
9393
if (AbstractPart::class === $type) {
9494
$type = $data['class'];
9595
unset($data['class']);
96+
$data['headers'] = $this->normalizer->denormalize($data['headers'], Headers::class, $format, $context);
9697
}
9798

9899
return $this->normalizer->denormalize($data, $type, $format, $context);

0 commit comments

Comments
 (0)
0