From a1a1609b34110e5eb0bfc00891a16c31139be516 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Thu, 1 Sep 2022 20:18:29 +0200 Subject: [PATCH] [Mime] Fix TextPart broken after being serialized --- src/Symfony/Component/Mime/Part/TextPart.php | 1 + src/Symfony/Component/Mime/Tests/Part/TextPartTest.php | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Mime/Part/TextPart.php b/src/Symfony/Component/Mime/Part/TextPart.php index 4afb6560aec0..bfe41c0aab23 100644 --- a/src/Symfony/Component/Mime/Part/TextPart.php +++ b/src/Symfony/Component/Mime/Part/TextPart.php @@ -197,6 +197,7 @@ public function __sleep() // convert resources to strings for serialization if (null !== $this->seekable) { $this->body = $this->getBody(); + $this->seekable = null; } $this->_headers = $this->getHeaders(); diff --git a/src/Symfony/Component/Mime/Tests/Part/TextPartTest.php b/src/Symfony/Component/Mime/Tests/Part/TextPartTest.php index c3818b883d46..ea14fe29f88a 100644 --- a/src/Symfony/Component/Mime/Tests/Part/TextPartTest.php +++ b/src/Symfony/Component/Mime/Tests/Part/TextPartTest.php @@ -87,6 +87,8 @@ public function testSerialize() $p = new TextPart($r); $p->getHeaders()->addTextHeader('foo', 'bar'); $expected = clone $p; - $this->assertEquals($expected->toString(), unserialize(serialize($p))->toString()); + $n = unserialize(serialize($p)); + $this->assertEquals($expected->toString(), $p->toString()); + $this->assertEquals($expected->toString(), $n->toString()); } }