[Mime] Fix serialization of RawMessage

This commit is contained in:
Gilbertsoft 2020-10-06 14:06:01 +02:00 committed by Fabien Potencier
parent b47ba231ef
commit fd99eb26d8
2 changed files with 15 additions and 1 deletions

View File

@ -78,7 +78,7 @@ class RawMessage implements \Serializable
public function __serialize(): array
{
return [$this->message];
return [$this->toString()];
}
public function __unserialize(array $data): void

View File

@ -32,4 +32,18 @@ class RawMessageTest extends TestCase
$this->assertEquals('some string', $message->toString());
$this->assertEquals('some string', implode('', iterator_to_array($message->toIterable())));
}
public function testSerialization()
{
$message = new RawMessage('string');
$this->assertEquals('string', unserialize(serialize($message))->toString());
// calling methods more than once work
$this->assertEquals('string', unserialize(serialize($message))->toString());
$message = new RawMessage(new \ArrayObject(['some', ' ', 'string']));
$message = new RawMessage($message->toIterable());
$this->assertEquals('some string', unserialize(serialize($message))->toString());
// calling methods more than once work
$this->assertEquals('some string', unserialize(serialize($message))->toString());
}
}