[Mailer] fixed wrong behavior
This commit is contained in:
parent
9e0640a281
commit
e15df84313
@ -0,0 +1,51 @@
|
||||
<?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\Mailer\Tests\Transport;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Symfony\Component\Mailer\Transport\TransportInterface;
|
||||
use Symfony\Component\Mailer\Transport\Transports;
|
||||
use Symfony\Component\Mime\Header\Headers;
|
||||
use Symfony\Component\Mime\Message;
|
||||
use Symfony\Component\Mime\Part\TextPart;
|
||||
|
||||
class TransportsTest extends TestCase
|
||||
{
|
||||
public function testDefaultTransport()
|
||||
{
|
||||
$transport = new Transports([
|
||||
'foo' => $foo = $this->createMock(TransportInterface::class),
|
||||
'bar' => $bar = $this->createMock(TransportInterface::class),
|
||||
]);
|
||||
|
||||
$foo->expects($this->once())->method('send');
|
||||
$bar->expects($this->never())->method('send');
|
||||
|
||||
$email = new Message(new Headers(), new TextPart('...'));
|
||||
$transport->send($email);
|
||||
}
|
||||
|
||||
public function testOverrideTransport()
|
||||
{
|
||||
$transport = new Transports([
|
||||
'foo' => $foo = $this->createMock(TransportInterface::class),
|
||||
'bar' => $bar = $this->createMock(TransportInterface::class),
|
||||
]);
|
||||
|
||||
$foo->expects($this->never())->method('send');
|
||||
$bar->expects($this->once())->method('send');
|
||||
|
||||
$headers = (new Headers())->addTextHeader('X-Transport', 'bar');
|
||||
$email = new Message($headers, new TextPart('...'));
|
||||
$transport->send($email);
|
||||
}
|
||||
}
|
@ -52,7 +52,7 @@ class Transports implements TransportInterface
|
||||
}
|
||||
|
||||
$headers = $message->getHeaders();
|
||||
$transport = $headers->get('X-Transport');
|
||||
$transport = $headers->get('X-Transport')->getBody();
|
||||
$headers->remove('X-Transport');
|
||||
|
||||
if (!isset($this->transports[$transport])) {
|
||||
|
Reference in New Issue
Block a user