Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5d9bc15

Browse files
committed
[Mailer] Fixed generator bug when creating multiple transports using Transport::fromDsn
1 parent 3755efd commit 5d9bc15

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/Symfony/Component/Mailer/Tests/TransportTest.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,22 @@ public function fromStringProvider(): iterable
6060
];
6161
}
6262

63+
/**
64+
* @dataProvider fromDnsProvider
65+
*/
66+
public function testFromDsn(string $dsn, TransportInterface $transport): void
67+
{
68+
$this->assertEquals($transport, Transport::fromDsn($dsn));
69+
}
70+
71+
public function fromDnsProvider(): iterable
72+
{
73+
yield 'multiple transport' => [
74+
'failover(smtp://a smtp://b)',
75+
new FailoverTransport([new Transport\Smtp\EsmtpTransport('a'), new Transport\Smtp\EsmtpTransport('b')]),
76+
];
77+
}
78+
6379
/**
6480
* @dataProvider fromWrongStringProvider
6581
*/

src/Symfony/Component/Mailer/Transport.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class Transport
5151

5252
public static function fromDsn(string $dsn, EventDispatcherInterface $dispatcher = null, HttpClientInterface $client = null, LoggerInterface $logger = null): TransportInterface
5353
{
54-
$factory = new self(self::getDefaultFactories($dispatcher, $client, $logger));
54+
$factory = new self(iterator_to_array(self::getDefaultFactories($dispatcher, $client, $logger)));
5555

5656
return $factory->fromString($dsn);
5757
}

0 commit comments

Comments
 (0)