8000 [Mime] Fix serialization of RawMessage · symfony/symfony@fd99eb2 · GitHub
[go: up one dir, main page]

Skip to content

Commit fd99eb2

Browse files
gilbertsoftfabpot
authored andcommitted
[Mime] Fix serialization of RawMessage
1 parent b47ba23 commit fd99eb2

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/Symfony/Component/Mime/RawMessage.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ final public function unserialize($serialized)
7878

7979
public function __serialize(): array
8080
{
81-
return [$this->message];
81+
return [$this->toString()];
8282
}
8383

8484
public function __unserialize(array $data): void

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,18 @@ public function testToString()
3232
$this->assertEquals('some string', $message->toString());
3333
$this->assertEquals('some string', implode('', iterator_to_array($message->toIterable())));
3434
}
35+
36+
public function testSerialization()
37+
{
38+
$message = new RawMessage('string');
39+
$this->assertEquals('string', unserialize(serialize($message))->toString());
40+
// calling methods more than once work
41+
$this->assertEquals('string', unserialize(serialize($message))->toString());
42+
43+
$message = new RawMessage(new \ArrayObject(['some', ' ', 'string']));
44+
$message = new RawMessage($message->toIterable());
45+
$this->assertEquals('some string', unserialize(serialize($message))->toString());
46+
// calling methods more than once work
47+
$this->assertEquals('some string', unserialize(serialize($message))->toString());
48+
}
3549
}

0 commit comments

Comments
 (0)
0