diff options
Diffstat (limited to 'vendor/symfony/mime/Tests/MessageConverterTest.php')
| -rw-r--r-- | vendor/symfony/mime/Tests/MessageConverterTest.php | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/vendor/symfony/mime/Tests/MessageConverterTest.php b/vendor/symfony/mime/Tests/MessageConverterTest.php new file mode 100644 index 0000000000..6a78086246 --- /dev/null +++ b/vendor/symfony/mime/Tests/MessageConverterTest.php @@ -0,0 +1,81 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Mime\Tests; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\Mime\Email; +use Symfony\Component\Mime\Message; +use Symfony\Component\Mime\MessageConverter; + +class MessageConverterTest extends TestCase +{ + public function testToEmail() + { + $file = file_get_contents(__DIR__.'/Fixtures/mimetypes/test.gif'); + $email = (new Email())->from('fabien@symfony.com'); + $this->assertSame($email, MessageConverter::toEmail($email)); + + $this->assertConversion((clone $email)->text('text content')); + $this->assertConversion((clone $email)->html('HTML content <img src="cid:test.jpg" />')); + $this->assertConversion((clone $email) + ->text('text content') + ->html('HTML content <img src="cid:test.jpg" />') + ); + $this->assertConversion((clone $email) + ->text('text content') + ->html('HTML content <img src="cid:test.jpg" />') + ->embed($file, 'test.jpg', 'image/gif') + ); + $this->assertConversion((clone $email) + ->text('text content') + ->html('HTML content <img src="cid:test.jpg" />') + ->attach($file, 'test_attached.jpg', 'image/gif') + ); + $this->assertConversion((clone $email) + ->text('text content') + ->html('HTML content <img src="cid:test.jpg" />') + ->embed($file, 'test.jpg', 'image/gif') + ->attach($file, 'test_attached.jpg', 'image/gif') + ); + $this->assertConversion((clone $email) + ->text('text content') + ->attach($file, 'test_attached.jpg', 'image/gif') + ); + $this->assertConversion((clone $email) + ->html('HTML content <img src="cid:test.jpg" />') + ->attach($file, 'test_attached.jpg', 'image/gif') + ); + $this->assertConversion((clone $email) + ->html('HTML content <img src="cid:test.jpg" />') + ->embed($file, 'test.jpg', 'image/gif') + ); + $this->assertConversion((clone $email) + ->text('text content') + ->embed($file, 'test_attached.jpg', 'image/gif') + ); + } + + private function assertConversion(Email $expected) + { + $r = new \ReflectionMethod($expected, 'generateBody'); + $r->setAccessible(true); + + $message = new Message($expected->getHeaders(), $r->invoke($expected)); + $converted = MessageConverter::toEmail($message); + if ($expected->getHtmlBody()) { + $this->assertStringMatchesFormat(str_replace('cid:test.jpg', 'cid:%s', $expected->getHtmlBody()), $converted->getHtmlBody()); + $expected->html('HTML content'); + $converted->html('HTML content'); + } + $this->assertEquals($expected, $converted); + } +} |
