Merge branch '4.3' into 4.4
* 4.3: Properly handle optional tag attributes for !tagged_iterator [Mime] rename Headers::getAll() to all() [Mailer] Fix phpdoc for variadic methods [HttpClient] fix debug output added to stderr at shutdown
This commit is contained in:
commit
d3a50d6cef
@ -741,7 +741,7 @@ class YamlFileLoader extends FileLoader
|
||||
throw new InvalidArgumentException(sprintf('"!%s" tag contains unsupported key "%s"; supported ones are "tag", "index_by" and "default_index_method".', $value->getTag(), implode('"", "', $diff)));
|
||||
}
|
||||
|
||||
$argument = new TaggedIteratorArgument($argument['tag'], $argument['index_by'], $argument['default_index_method'] ?? null, $forLocator);
|
||||
$argument = new TaggedIteratorArgument($argument['tag'], $argument['index_by'] ?? null, $argument['default_index_method'] ?? null, $forLocator);
|
||||
|
||||
if ($forLocator) {
|
||||
$argument = new ServiceLocatorArgument($argument);
|
||||
|
@ -0,0 +1,4 @@
|
||||
services:
|
||||
iterator_service:
|
||||
class: FooClass
|
||||
arguments: [!tagged_iterator {tag: test.tag}]
|
@ -858,4 +858,18 @@ class YamlFileLoaderTest extends TestCase
|
||||
|
||||
$this->assertSame('overridden', $container->get('bar')->quz);
|
||||
}
|
||||
|
||||
/**
|
||||
* When creating a tagged iterator using the array syntax, all optional parameters should be properly handled.
|
||||
*/
|
||||
public function testDefaultValueOfTagged()
|
||||
{
|
||||
$container = new ContainerBuilder();
|
||||
$loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
|
||||
$loader->load('tagged_iterator_optional.yml');
|
||||
|
||||
$iteratorArgument = $container->getDefinition('iterator_service')->getArgument(0);
|
||||
$this->assertInstanceOf(TaggedIteratorArgument::class, $iteratorArgument);
|
||||
$this->assertNull($iteratorArgument->getIndexAttribute());
|
||||
}
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ class MandrillTransport extends AbstractApiTransport
|
||||
}
|
||||
|
||||
$headersToBypass = ['from', 'to', 'cc', 'bcc', 'subject', 'content-type'];
|
||||
foreach ($email->getHeaders()->getAll() as $name => $header) {
|
||||
foreach ($email->getHeaders()->all() as $name => $header) {
|
||||
if (\in_array($name, $headersToBypass, true)) {
|
||||
continue;
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ class MailgunTransport extends AbstractApiTransport
|
||||
{
|
||||
$body = new FormDataPart($this->getPayload($email, $envelope));
|
||||
$headers = [];
|
||||
foreach ($body->getPreparedHeaders()->getAll() as $header) {
|
||||
foreach ($body->getPreparedHeaders()->all() as $header) {
|
||||
$headers[] = $header->toString();
|
||||
}
|
||||
|
||||
@ -98,7 +98,7 @@ class MailgunTransport extends AbstractApiTransport
|
||||
}
|
||||
|
||||
$headersToBypass = ['from', 'to', 'cc', 'bcc', 'subject', 'content-type'];
|
||||
foreach ($headers->getAll() as $name => $header) {
|
||||
foreach ($headers->all() as $name => $header) {
|
||||
if (\in_array($name, $headersToBypass, true)) {
|
||||
continue;
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ class MailgunTransport extends AbstractHttpTransport
|
||||
'message' => new DataPart($message->toString(), 'message.mime'),
|
||||
]);
|
||||
$headers = [];
|
||||
foreach ($body->getPreparedHeaders()->getAll() as $header) {
|
||||
foreach ($body->getPreparedHeaders()->all() as $header) {
|
||||
$headers[] = $header->toString();
|
||||
}
|
||||
$endpoint = str_replace(['%domain%', '%region_dot%'], [urlencode($this->domain), 'us' !== ($this->region ?: 'us') ? $this->region.'.' : ''], self::ENDPOINT);
|
||||
|
@ -69,7 +69,7 @@ class PostmarkTransport extends AbstractApiTransport
|
||||
];
|
||||
|
||||
$headersToBypass = ['from', 'to', 'cc', 'bcc', 'subject', 'content-type', 'sender'];
|
||||
foreach ($email->getHeaders()->getAll() as $name => $header) {
|
||||
foreach ($email->getHeaders()->all() as $name => $header) {
|
||||
if (\in_array($name, $headersToBypass, true)) {
|
||||
continue;
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ class SendgridTransport extends AbstractApiTransport
|
||||
// these headers can't be overwritten according to Sendgrid docs
|
||||
// see https://developers.pepipost.com/migration-api/new-subpage/email-send
|
||||
$headersToBypass = ['x-sg-id', 'x-sg-eid', 'received', 'dkim-signature', 'content-transfer-encoding', 'from', 'to', 'cc', 'bcc', 'subject', 'content-type', 'reply-to'];
|
||||
foreach ($email->getHeaders()->getAll() as $name => $header) {
|
||||
foreach ($email->getHeaders()->all() as $name => $header) {
|
||||
if (\in_array($name, $headersToBypass, true)) {
|
||||
continue;
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ final class DelayedSmtpEnvelope extends SmtpEnvelope
|
||||
{
|
||||
$recipients = [];
|
||||
foreach (['to', 'cc', 'bcc'] as $name) {
|
||||
foreach ($headers->getAll($name) as $header) {
|
||||
foreach ($headers->all($name) as $header) {
|
||||
foreach ($header->getAddresses() as $address) {
|
||||
$recipients[] = new Address($address->getAddress());
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ class MessageListener implements EventSubscriberInterface
|
||||
}
|
||||
|
||||
$headers = $message->getHeaders();
|
||||
foreach ($this->headers->getAll() as $name => $header) {
|
||||
foreach ($this->headers->all() as $name => $header) {
|
||||
if (!$headers->has($name)) {
|
||||
$headers->add($header);
|
||||
} else {
|
||||
|
@ -101,7 +101,7 @@ class Email extends Message
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Address|NamedAddress|string $addresses
|
||||
* @param Address|NamedAddress|string ...$addresses
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
@ -111,7 +111,7 @@ class Email extends Message
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Address|NamedAddress|string $addresses
|
||||
* @param Address|NamedAddress|string ...$addresses
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
@ -129,7 +129,7 @@ class Email extends Message
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Address|string $addresses
|
||||
* @param Address|string ...$addresses
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
@ -139,7 +139,7 @@ class Email extends Message
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Address|string $addresses
|
||||
* @param Address|string ...$addresses
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
@ -157,7 +157,7 @@ class Email extends Message
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Address|NamedAddress|string $addresses
|
||||
* @param Address|NamedAddress|string ...$addresses
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
@ -167,7 +167,7 @@ class Email extends Message
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Address|NamedAddress|string $addresses
|
||||
* @param Address|NamedAddress|string ...$addresses
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
@ -185,7 +185,7 @@ class Email extends Message
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Address|NamedAddress|string $addresses
|
||||
* @param Address|NamedAddress|string ...$addresses
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
@ -195,7 +195,7 @@ class Email extends Message
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Address|string $addresses
|
||||
* @param Address|string ...$addresses
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
@ -213,7 +213,7 @@ class Email extends Message
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Address|NamedAddress|string $addresses
|
||||
* @param Address|NamedAddress|string ...$addresses
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
@ -223,7 +223,7 @@ class Email extends Message
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Address|string $addresses
|
||||
* @param Address|string ...$addresses
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
|
@ -49,7 +49,7 @@ final class Headers
|
||||
public function setMaxLineLength(int $lineLength)
|
||||
{
|
||||
$this->lineLength = $lineLength;
|
||||
foreach ($this->getAll() as $header) {
|
||||
foreach ($this->all() as $header) {
|
||||
$header->setMaxLineLength($lineLength);
|
||||
}
|
||||
}
|
||||
@ -175,7 +175,7 @@ final class Headers
|
||||
return array_shift($values);
|
||||
}
|
||||
|
||||
public function getAll(string $name = null): iterable
|
||||
public function all(string $name = null): iterable
|
||||
{
|
||||
if (null === $name) {
|
||||
foreach ($this->headers as $name => $collection) {
|
||||
@ -218,7 +218,7 @@ final class Headers
|
||||
public function toArray(): array
|
||||
{
|
||||
$arr = [];
|
||||
foreach ($this->getAll() as $header) {
|
||||
foreach ($this->all() as $header) {
|
||||
if ('' !== $header->getBodyAsString()) {
|
||||
$arr[] = $header->toString();
|
||||
}
|
||||
|
@ -141,7 +141,7 @@ class HeadersTest extends TestCase
|
||||
$this->assertNull($headers->get('Message-ID'));
|
||||
}
|
||||
|
||||
public function testGetAllReturnsAllHeadersMatchingName()
|
||||
public function testAllReturnsAllHeadersMatchingName()
|
||||
{
|
||||
$header0 = new UnstructuredHeader('X-Test', 'some@id');
|
||||
$header1 = new UnstructuredHeader('X-Test', 'other@id');
|
||||
@ -150,10 +150,10 @@ class HeadersTest extends TestCase
|
||||
$headers->addTextHeader('X-Test', 'some@id');
|
||||
$headers->addTextHeader('X-Test', 'other@id');
|
||||
$headers->addTextHeader('X-Test', 'more@id');
|
||||
$this->assertEquals([$header0, $header1, $header2], iterator_to_array($headers->getAll('X-Test')));
|
||||
$this->assertEquals([$header0, $header1, $header2], iterator_to_array($headers->all('X-Test')));
|
||||
}
|
||||
|
||||
public function testGetAllReturnsAllHeadersIfNoArguments()
|
||||
public function testAllReturnsAllHeadersIfNoArguments()
|
||||
{
|
||||
$header0 = new IdentificationHeader('Message-ID', 'some@id');
|
||||
$header1 = new UnstructuredHeader('Subject', 'thing');
|
||||
@ -162,13 +162,13 @@ class HeadersTest extends TestCase
|
||||
$headers->addIdHeader('Message-ID', 'some@id');
|
||||
$headers->addTextHeader('Subject', 'thing');
|
||||
$headers->addMailboxListHeader('To', [new Address('person@example.org')]);
|
||||
$this->assertEquals(['message-id' => $header0, 'subject' => $header1, 'to' => $header2], iterator_to_array($headers->getAll()));
|
||||
$this->assertEquals(['message-id' => $header0, 'subject' => $header1, 'to' => $header2], iterator_to_array($headers->all()));
|
||||
}
|
||||
|
||||
public function testGetAllReturnsEmptyArrayIfNoneSet()
|
||||
public function testAllReturnsEmptyArrayIfNoneSet()
|
||||
{
|
||||
$headers = new Headers();
|
||||
$this->assertEquals([], iterator_to_array($headers->getAll('Received')));
|
||||
$this->assertEquals([], iterator_to_array($headers->all('Received')));
|
||||
}
|
||||
|
||||
public function testRemoveRemovesAllHeadersWithName()
|
||||
@ -199,12 +199,12 @@ class HeadersTest extends TestCase
|
||||
$this->assertEquals($header, $headers->get('message-id'));
|
||||
}
|
||||
|
||||
public function testGetAllIsNotCaseSensitive()
|
||||
public function testAllIsNotCaseSensitive()
|
||||
{
|
||||
$header = new IdentificationHeader('Message-ID', 'some@id');
|
||||
$headers = new Headers();
|
||||
$headers->addIdHeader('Message-ID', 'some@id');
|
||||
$this->assertEquals([$header], iterator_to_array($headers->getAll('message-id')));
|
||||
$this->assertEquals([$header], iterator_to_array($headers->all('message-id')));
|
||||
}
|
||||
|
||||
public function testRemoveIsNotCaseSensitive()
|
||||
|
@ -68,7 +68,7 @@ class MessageTest extends TestCase
|
||||
$message = new Message();
|
||||
$message->getHeaders()->addMailboxListHeader('From', ['fabien@symfony.com']);
|
||||
$h = $message->getPreparedHeaders();
|
||||
$this->assertCount(4, iterator_to_array($h->getAll()));
|
||||
$this->assertCount(4, iterator_to_array($h->all()));
|
||||
$this->assertEquals(new MailboxListHeader('From', [new Address('fabien@symfony.com')]), $h->get('From'));
|
||||
$this->assertEquals(new UnstructuredHeader('MIME-Version', '1.0'), $h->get('mime-version'));
|
||||
$this->assertTrue($h->has('Message-Id'));
|
||||
|
Reference in New Issue
Block a user