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

Skip to content
This repository was archived by the owner on Feb 6, 2022. It is now read-only.

Add PHP 7.4 in test matrix #304

Merged
merged 8 commits into from
Sep 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,9 @@ matrix:
include:
- php: 7.1
env: COMPOSER_FLAGS="--prefer-lowest" SYMFONY_DEPRECATIONS_HELPER=weak
- php: 7.1
env: SYMFONY_REQUIRE="3.*"
- php: 7.2
- php: 7.3
- php: 7.4
env: DEPENDENCIES=dev

before_install:
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# 3.5.0

* bumped Symfony deps to `^4.4|^5.0`

# 3.4.0

* bumped Symfony deps to `^4.3|^5.0`
Expand Down
7 changes: 1 addition & 6 deletions DependencyInjection/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ private function getMailersNode()
->scalarNode('source_ip')->defaultNull()->end()
->scalarNode('local_domain')->defaultNull()->end()
->arrayNode('stream_options')
->addDefaultsIfNotSet()
->ignoreExtraKeys(false)
->normalizeKeys(false)
->beforeNormalization()
Expand Down Expand Up @@ -128,12 +129,6 @@ private function getMailersNode()
return $recurse($v['stream-option']);
})
->end()
->validate()
->ifTrue(function ($v) {
return !method_exists('Swift_Transport_EsmtpTransport', 'setStreamOptions');
})
->thenInvalid('stream_options is only available in Swiftmailer 5.4.2 or later.')
->end()
->end()
->scalarNode('encryption')
->defaultNull()
Expand Down
10 changes: 4 additions & 6 deletions DependencyInjection/SwiftmailerExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ protected function configureMailer($name, array $mailer, ContainerBuilder $conta

if (method_exists($container, 'resolveEnvPlaceholders')) {
$options = [];
$envVariablesAllowed = ['transport', 'url', 'username', 'password', 'host', 'port', 'timeout', 'source_ip', 'local_domain', 'encryption', 'auth_mode', 'command','stream_options'];
$envVariablesAllowed = ['transport', 'url', 'username', 'password', 'host', 'port', 'timeout', 'source_ip', 'local_domain', 'encryption', 'auth_mode', 'command', 'stream_options'];
foreach ($envVariablesAllowed as $key) {
$container->resolveEnvPlaceholders($mailer[$key], null, $usedEnvs);
$options[$key] = $mailer[$key];
Expand Down Expand Up @@ -146,7 +146,7 @@ protected function configureMailer($name, array $mailer, ContainerBuilder $conta

protected function configureMailerTransport($name, array $mailer, ContainerBuilder $container, $transport, $isDefaultMailer = false)
{
foreach (['encryption', 'port', 'host', 'username', 'password', 'auth_mode', 'timeout', 'source_ip', 'local_domain','stream_options'] as $key) {
foreach (['encryption', 'port', 'host', 'username', 'password', 'auth_mode', 'timeout', 'source_ip', 'local_domain', 'stream_options'] as $key) {
$container->setParameter(sprintf('swiftmailer.mailer.%s.transport.smtp.%s', $name, $key), $mailer[$key]);
}

Expand Down Expand Up @@ -187,7 +187,7 @@ protected function configureMailerTransport($name, array $mailer, ContainerBuild
->setConfigurator([new Reference(sprintf('swiftmailer.transport.configurator.%s', $name)), 'configure'])
;

if (isset($mailer['stream_options'])) {
if ($mailer['stream_options']) {
$container->setParameter(sprintf('swiftmailer.mailer.%s.transport.smtp.stream_options', $name), $mailer['stream_options']);
$definitionDecorator->addMethodCall('setStreamOptions', [sprintf('%%swiftmailer.mailer.%s.transport.smtp.stream_options%%', $name)]);
}
Expand Down Expand Up @@ -232,9 +232,7 @@ protected function configureMailerTransport($name, array $mailer, ContainerBuild
$container->setAlias(sprintf('swiftmailer.mailer.%s.transport', $name), sprintf('swiftmailer.mailer.transport.%s', $transport));
}

if (method_exists(Alias::class, 'setPrivate')) {
$container->getAlias(sprintf('swiftmailer.mailer.%s.transport', $name))->setPrivate(false);
}
$container->getAlias(sprintf('swiftmailer.mailer.%s.transport', $name))->setPublic(true);

$definitionDecorator = $this->createChildDefinition('swiftmailer.mailer.abstract');
$container
Expand Down
21 changes: 6 additions & 15 deletions Tests/DependencyInjection/SwiftmailerExtensionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public function testDefaultConfig($type)

$this->assertEquals('localhost', $container->getParameter('swiftmailer.mailer.default.transport.smtp.host'));
$this->assertEquals(25, $container->getParameter('swiftmailer.mailer.default.transport.smtp.port'));
$this->assertFalse($container->hasParameter('swiftmailer.mailer.default.transport.smtp.stream_options'));
$this->assertEmpty($container->getParameter('swiftmailer.mailer.default.transport.smtp.stream_options'));

$this->assertEquals('example.org', $container->get('swiftmailer.mailer.default.transport')->getLocalDomain());
}
Expand Down Expand Up @@ -145,7 +145,7 @@ public function testFull($type)
$this->assertEquals('1000', $container->getParameter('swiftmailer.mailer.default.transport.smtp.timeout'));
$this->assertEquals('127.0.0.1', $container->getParameter('swiftmailer.mailer.default.transport.smtp.source_ip'));
$this->assertEquals('local.example.com', $container->getParameter('swiftmailer.mailer.default.transport.smtp.local_domain'));
$this->assertSame(['swiftmailer.default.plugin' => [[]]], $container->getDefinition('swiftmailer.mailer.default.plugin.redirecting')->getTags());
$this->assertArrayHasKey('swiftmailer.default.plugin', $container->getDefinition('swiftmailer.mailer.default.plugin.redirecting')->getTags());
$this->assertSame('[email protected]', $container->getParameter('swiftmailer.mailer.default.single_address'));
$this->assertEquals(['/foo@.*/', '/.*@bar.com$/'], $container->getParameter('swiftmailer.mailer.default.delivery_whitelist'));
}
Expand Down Expand Up @@ -320,10 +320,6 @@ public function testSmtpConfig($type)
*/
public function testStreamOptions($type)
{
if (!method_exists('Swift_Transport_EsmtpTransport', 'setStreamOptions')) {
$this->markTestSkipped('This test requires Swiftmailer 5.4.2 or later.');
}

$container = $this->loadContainerFromFile('stream_options', $type);
$this->assertEquals('example.org', $container->getParameter('swiftmailer.mailer.default.transport.smtp.host'));
$this->assertEquals('12345', $container->getParameter('swiftmailer.mailer.default.transport.smtp.port'));
Expand All @@ -338,7 +334,7 @@ public function testRedirectionConfig($type)
{
$container = $this->loadContainerFromFile('redirect', $type);

$this->assertSame(['swiftmailer.default.plugin' => [[]]], $container->getDefinition('swiftmailer.mailer.default.plugin.redirecting')->getTags());
$this->assertArrayHasKey('swiftmailer.default.plugin', $container->getDefinition('swiftmailer.mailer.default.plugin.redirecting')->getTags());
$this->assertSame('[email protected]', $container->getParameter('swiftmailer.mailer.default.single_address'));
$this->assertEquals(['/foo@.*/', '/.*@bar.com$/'], $container->getParameter('swiftmailer.mailer.default.delivery_whitelist'));
}
Expand All @@ -350,7 +346,7 @@ public function testSingleRedirectionConfig($type)
{
$container = $this->loadContainerFromFile('redirect_single', $type);

$this->assertSame(['swiftmailer.default.plugin' => [[]]], $container->getDefinition('swiftmailer.mailer.default.plugin.redirecting')->getTags());
$this->assertArrayHasKey('swiftmailer.default.plugin', $container->getDefinition('swiftmailer.mailer.default.plugin.redirecting')->getTags());
$this->assertSame('[email protected]', $container->getParameter('swiftmailer.mailer.default.single_address'));
$this->assertSame(['[email protected]'], $container->getParameter('swiftmailer.mailer.default.delivery_addresses'));
$this->assertEquals(['/foo@.*/'], $container->getParameter('swiftmailer.mailer.default.delivery_whitelist'));
Expand All @@ -363,7 +359,7 @@ public function testMultiRedirectionConfig($type)
{
$container = $this->loadContainerFromFile('redirect_multi', $type);

$this->assertSame(['swiftmailer.default.plugin' => [[]]], $container->getDefinition('swiftmailer.mailer.default.plugin.redirecting')->getTags());
$this->assertArrayHasKey('swiftmailer.default.plugin', $container->getDefinition('swiftmailer.mailer.default.plugin.redirecting')->getTags());
$this->assertSame(['[email protected]', '[email protected]'], $container->getParameter('swiftmailer.mailer.default.delivery_addresses'));
}

Expand All @@ -374,7 +370,7 @@ public function testAntifloodConfig($type)
{
$container = $this->loadContainerFromFile('antiflood', $type);

$this->assertSame(['swiftmailer.default.plugin' => [[]]], $container->getDefinition('swiftmailer.mailer.default.plugin.antiflood')->getTags());
$this->assertArrayHasKey('swiftmailer.default.plugin', $container->getDefinition('swiftmailer.mailer.default.plugin.antiflood')->getTags());
}

/**
Expand Down Expand Up @@ -424,11 +420,6 @@ public function testDisableDeliveryWithEnvVars()
private function loadContainerFromFile($file, $type, array $services = [], $skipEnvVars = false)
{
$container = new ContainerBuilder();

if ($skipEnvVars && !method_exists($container, 'resolveEnvPlaceholders')) {
$this->markTestSkipped('Runtime environment variables has been introduced in the Dependency Injection version 3.2.');
}

$container->setParameter('kernel.debug', false);
$container->setParameter('kernel.cache_dir', '/tmp');

Expand Down
19 changes: 8 additions & 11 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,19 @@
"require": {
"php": ">=7.1",
"swiftmailer/swiftmailer": "^6.1.3",
"symfony/dependency-injection": "^4.3.8|^5.0",
"symfony/http-kernel": "^4.3.8|^5.0",
"symfony/config": "^4.3.8|^5.0"
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/http-kernel": "^4.4|^5.0",
"symfony/config": "^4.4|^5.0"
},
"require-dev": {
"symfony/console": "^4.3.8|^5.0",
"symfony/framework-bundle": "^4.3.8|^5.0",
"symfony/phpunit-bridge": "^4.3.8|^5.0",
"symfony/yaml": "^4.3.8|^5.0"
"symfony/console": "^4.4|^5.0",
"symfony/framework-bundle": "^4.4|^5.0",
"symfony/phpunit-bridge": "^4.4|^5.0",
"symfony/yaml": "^4.4|^5.0"
},
"conflict": {
"twig/twig": "<1.41|<2.10"
},
"suggest": {
"psr/log": "Allows logging"
},
"autoload": {
"psr-4": { "Symfony\\Bundle\\SwiftmailerBundle\\": "" },
"exclude-from-classmap": [
Expand All @@ -42,7 +39,7 @@
},
"extra": {
"branch-alias": {
"dev-master": "3.4-dev"
"dev-master": "3.5-dev"
}
}
}