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

Skip to content

Commit c83aadb

Browse files
Merge branch '6.2' into 6.3
* 6.2: [Translation][Mailer] Convert `$this` calls to static ones in data providers [BC Break] Make data providers for abstract test cases static use TestCase suffix for abstract tests in Tests directories Fix Request locale property doc types [DependencyInjection] Fix autowire attribute with nullable parameters Bump absolute lowest dep to 4.4 remove not needed PHP version switch
2 parents dcda61f + fd60857 commit c83aadb

File tree

115 files changed

+610
-562
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+610
-562
lines changed

.github/workflows/unit-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ jobs:
123123
124124
echo SYMFONY_VERSION=$SYMFONY_VERSION >> $GITHUB_ENV
125125
echo COMPOSER_ROOT_VERSION=$SYMFONY_VERSION.x-dev >> $GITHUB_ENV
126-
echo SYMFONY_REQUIRE=">=$([ '${{ matrix.mode }}' = low-deps ] && echo 3.4 || echo $SYMFONY_VERSION)" >> $GITHUB_ENV
126+
echo SYMFONY_REQUIRE=">=$([ '${{ matrix.mode }}' = low-deps ] && echo 4.4 || echo $SYMFONY_VERSION)" >> $GITHUB_ENV
127127
[[ "${{ matrix.mode }}" = *-deps ]] && mv composer.json.phpunit composer.json || true
128128
129129
- name: Install dependencies

phpunit

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,9 @@ if (!file_exists(__DIR__.'/vendor/symfony/phpunit-bridge/bin/simple-phpunit')) {
1010
exit(1);
1111
}
1212
if (!getenv('SYMFONY_PHPUNIT_VERSION')) {
13-
if (\PHP_VERSION_ID < 70300) {
14-
putenv('SYMFONY_PHPUNIT_VERSION=8.5.26');
15-
} else {
16-
putenv('SYMFONY_PHPUNIT_VERSION=9.6');
17-
}
13+
putenv('SYMFONY_PHPUNIT_VERSION=9.6');
1814
}
19-
if (!getenv('SYMFONY_PATCH_TYPE_DECLARATIONS') && \PHP_VERSION_ID >= 70300) {
15+
if (!getenv('SYMFONY_PATCH_TYPE_DECLARATIONS')) {
2016
putenv('SYMFONY_PATCH_TYPE_DECLARATIONS=deprecations=1');
2117
}
2218
if (getcwd() === realpath(__DIR__.'/src/Symfony/Bridge/PhpUnit')) {

src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -291,23 +291,17 @@ private function autowireMethod(\ReflectionFunctionAbstract $reflectionMethod, a
291291
continue;
292292
}
293293

294-
$type = ProxyHelper::exportType($parameter, true);
295-
296294
if ($checkAttributes) {
297295
foreach ($parameter->getAttributes() as $attribute) {
298296
if (\in_array($attribute->getName(), [TaggedIterator::class, TaggedLocator::class, Autowire::class, MapDecorated::class], true)) {
299297
$arguments[$index] = $this->processAttribute($attribute->newInstance(), $parameter->allowsNull());
300298

301-
break;
299+
continue 2;
302300
}
303301
}
304-
305-
if ('' !== ($arguments[$index] ?? '')) {
306-
continue;
307-
}
308302
}
309303

310-
if (!$type) {
304+
if (!$type = ProxyHelper::exportType($parameter, true)) {
311305
if (isset($arguments[$index])) {
312306
continue;
313307
}

src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1228,21 +1228,23 @@ public function testAutowireAttribute()
12281228

12291229
$container->register('some.id', \stdClass::class);
12301230
$container->setParameter('some.parameter', 'foo');
1231+
$container->setParameter('null.parameter', null);
12311232

12321233
(new ResolveClassPass())->process($container);
12331234
(new AutowirePass())->process($container);
12341235

12351236
$definition = $container->getDefinition(AutowireAttribute::class);
12361237

1237-
$this->assertCount(8, $definition->getArguments());
1238+
$this->assertCount(9, $definition->getArguments());
12381239
$this->assertEquals(new Reference('some.id'), $definition->getArgument(0));
12391240
$this->assertEquals(new Expression("parameter('some.parameter')"), $definition->getArgument(1));
12401241
$this->assertSame('foo/bar', $definition->getArgument(2));
1241-
$this->assertEquals(new Reference('some.id'), $definition->getArgument(3));
1242-
$this->assertEquals(new Expression("parameter('some.parameter')"), $definition->getArgument(4));
1243-
$this->assertSame('bar', $definition->getArgument(5));
1244-
$this->assertSame('@bar', $definition->getArgument(6));
1245-
$this->assertEquals(new Reference('invalid.id', ContainerInterface::NULL_ON_INVALID_REFERENCE), $definition->getArgument(7));
1242+
$this->assertNull($definition->getArgument(3));
1243+
$this->assertEquals(new Reference('some.id'), $definition->getArgument(4));
1244+
$this->assertEquals(new Expression("parameter('some.parameter')"), $definition->getArgument(5));
1245+
$this->assertSame('bar', $definition->getArgument(6));
1246+
$this->assertSame('@bar', $definition->getArgument(7));
1247+
$this->assertEquals(new Reference('invalid.id', ContainerInterface::NULL_ON_INVALID_REFERENCE), $definition->getArgument(8));
12461248

12471249
$container->compile();
12481250

src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes_80.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ public function __construct(
4242
public string $expression,
4343
#[Autowire(value: '%some.parameter%/bar')]
4444
public string $value,
45+
#[Autowire(value: '%null.parameter%')]
46+
public ?string $nullableValue,
4547
#[Autowire('@some.id')]
4648
public \stdClass $serviceAsValue,
4749
#[Autowire("@=parameter('some.parameter')")]

src/Symfony/Component/HttpFoundation/Request.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ class Request
189189
protected $session;
190190

191191
/**
192-
* @var string
192+
* @var string|null
193193
*/
194194
protected $locale;
195195

@@ -1390,7 +1390,7 @@ public function setLocale(string $locale)
13901390
*/
13911391
public function getLocale(): string
13921392
{
1393-
return null === $this->locale ? $this->defaultLocale : $this->locale;
1393+
return $this->locale ?? $this->defaultLocale;
13941394
}
13951395

13961396
/**

src/Symfony/Component/Mailer/Bridge/Amazon/Tests/Transport/SesTransportFactoryTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323

2424
class SesTransportFactoryTest extends TransportFactoryTestCase
2525
{
26-
public function getFactory(): TransportFactoryInterface
26+
public static function getFactory(): TransportFactoryInterface
2727
{
28-
return new SesTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger());
28+
return new SesTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger());
2929
}
3030

31-
public function supportsProvider(): iterable
31+
public static function supportsProvider(): iterable
3232
{
3333
yield [
3434
new Dsn('ses+api', 'default'),
@@ -61,11 +61,11 @@ public function supportsProvider(): iterable
6161
];
6262
}
6363

64-
public function createProvider(): iterable
64+
public static function createProvider(): iterable
6565
{
66-
$client = $this->getClient();
67-
$dispatcher = $this->getDispatcher();
68-
$logger = $this->getLogger();
66+
$client = self::getClient();
67+
$dispatcher = self::getDispatcher();
68+
$logger = self::getLogger();
6969

7070
yield [
7171
new Dsn('ses+api', 'default', self::USER, self::PASSWORD),
@@ -168,15 +168,15 @@ public function createProvider(): iterable
168168
];
169169
}
170170

171-
public function unsupportedSchemeProvider(): iterable
171+
public static function unsupportedSchemeProvider(): iterable
172172
{
173173
yield [
174174
new Dsn('ses+foo', 'default', self::USER, self::PASSWORD),
175175
'The "ses+foo" scheme is not supported; supported schemes for mailer "ses" are: "ses", "ses+api", "ses+https", "ses+smtp", "ses+smtps".',
176176
];
177177
}
178178

179-
public function incompleteDsnProvider(): iterable
179+
public static function incompleteDsnProvider(): iterable
180180
{
181181
yield [new Dsn('ses+smtp', 'default', self::USER)];
182182
}

src/Symfony/Component/Mailer/Bridge/Amazon/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"require": {
1919
"php": ">=8.1",
2020
"async-aws/ses": "^1.0",
21-
"symfony/mailer": "^5.4|^6.0"
21+
"symfony/mailer": "^5.4.21|^6.2.7"
2222
},
2323
"require-dev": {
2424
"symfony/http-client": "^5.4|^6.0"

src/Symfony/Component/Mailer/Bridge/Google/Tests/Transport/GmailTransportFactoryTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919

2020
class GmailTransportFactoryTest extends TransportFactoryTestCase
2121
{
22-
public function getFactory(): TransportFactoryInterface
22+
public static function getFactory(): TransportFactoryInterface
2323
{
24-
return new GmailTransportFactory($this->getDispatcher(), null, $this->getLogger());
24+
return new GmailTransportFactory(self::getDispatcher(), null, self::getLogger());
2525
}
2626

27-
public function supportsProvider(): iterable
27+
public static function supportsProvider(): iterable
2828
{
2929
yield [
3030
new Dsn('gmail', 'default'),
@@ -47,33 +47,33 @@ public function supportsProvider(): iterable
4747
];
4848
}
4949

50-
public function createProvider(): iterable
50+
public static function createProvider(): iterable
5151
{
5252
yield [
5353
new Dsn('gmail', 'default', self::USER, self::PASSWORD),
54-
new GmailSmtpTransport(self::USER, self::PASSWORD, $this->getDispatcher(), $this->getLogger()),
54+
new GmailSmtpTransport(self::USER, self::PASSWORD, self::getDispatcher(), self::getLogger()),
5555
];
5656

5757
yield [
5858
new Dsn('gmail+smtp', 'default', self::USER, self::PASSWORD),
59-
new GmailSmtpTransport(self::USER, self::PASSWORD, $this->getDispatcher(), $this->getLogger()),
59+
new GmailSmtpTransport(self::USER, self::PASSWORD, self::getDispatcher(), self::getLogger()),
6060
];
6161

6262
yield [
6363
new Dsn('gmail+smtps', 'default', self::USER, self::PASSWORD),
64-
new GmailSmtpTransport(self::USER, self::PASSWORD, $this->getDispatcher(), $this->getLogger()),
64+
new GmailSmtpTransport(self::USER, self::PASSWORD, self::getDispatcher(), self::getLogger()),
6565
];
6666
}
6767

68-
public function unsupportedSchemeProvider(): iterable
68+
public static function unsupportedSchemeProvider(): iterable
6969
{
7070
yield [
7171
new Dsn('gmail+foo', 'default', self::USER, self::PASSWORD),
7272
'The "gmail+foo" scheme is not supported; supported schemes for mailer "gmail" are: "gmail", "gmail+smtp", "gmail+smtps".',
7373
];
7474
}
7575

76-
public function incompleteDsnProvider(): iterable
76+
public static function incompleteDsnProvider(): iterable
7777
{
7878
yield [new Dsn('gmail+smtp', 'default', self::USER)];
7979

src/Symfony/Component/Mailer/Bridge/Google/composer.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@
1717
],
1818
"require": {
1919
"php": ">=8.1",
20-
"symfony/mailer": "^5.4|^6.0"
20+
"symfony/mailer": "^5.4.21|^6.2.7"
21+
},
22+
"require-dev": {
23+
"symfony/http-client": "^5.4|^6.0"
2124
},
2225
"autoload": {
2326
"psr-4": { "Symfony\\Component\\Mailer\\Bridge\\Google\\": "" },

src/Symfony/Component/Mailer/Bridge/Infobip/Tests/Transport/InfobipApiTransportFactoryTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020

2121
class InfobipApiTransportFactoryTest extends TransportFactoryTestCase
2222
{
23-
public function getFactory(): TransportFactoryInterface
23+
public static function getFactory(): TransportFactoryInterface
2424
{
25-
return new InfobipTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger());
25+
return new InfobipTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger());
2626
}
2727

28-
public function supportsProvider(): iterable
28+
public static function supportsProvider(): iterable
2929
{
3030
yield [
3131
new Dsn('infobip+api', 'default'),
@@ -53,14 +53,14 @@ public function supportsProvider(): iterable
5353
];
5454
}
5555

56-
public function createProvider(): iterable
56+
public static function createProvider(): iterable
5757
{
58-
$dispatcher = $this->getDispatcher();
59-
$logger = $this->getLogger();
58+
$dispatcher = self::getDispatcher();
59+
$logger = self::getLogger();
6060

6161
yield [
6262
new Dsn('infobip+api', 'example.com', self::PASSWORD),
63-
(new InfobipApiTransport(self::PASSWORD, $this->getClient(), $dispatcher, $logger))->setHost('example.com'),
63+
(new InfobipApiTransport(self::PASSWORD, self::getClient(), $dispatcher, $logger))->setHost('example.com'),
6464
];
6565

6666
yield [
@@ -79,15 +79,15 @@ public function createProvider(): iterable
7979
];
8080
}
8181

82-
public function unsupportedSchemeProvider(): iterable
82+
public static function unsupportedSchemeProvider(): iterable
8383
{
8484
yield [
8585
new Dsn('infobip+foo', 'infobip', self::USER, self::PASSWORD),
8686
'The "infobip+foo" scheme is not supported; supported schemes for mailer "infobip" are: "infobip", "infobip+api", "infobip+smtp", "infobip+smtps".',
8787
];
8888
}
8989

90-
public function incompleteDsnProvider(): iterable
90+
public static function incompleteDsnProvider(): iterable
9191
{
9292
yield [new Dsn('infobip+smtp', 'default')];
9393
yield [new Dsn('infobip+api', 'default')];

src/Symfony/Component/Mailer/Bridge/MailPace/Tests/Transport/MailPaceTransportFactoryTest.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020

2121
final class MailPaceTransportFactoryTest extends TransportFactoryTestCase
2222
{
23-
public function getFactory(): TransportFactoryInterface
23+
public static function getFactory(): TransportFactoryInterface
2424
{
25-
return new MailPaceTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger());
25+
return new MailPaceTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger());
2626
}
2727

28-
public function supportsProvider(): iterable
28+
public static function supportsProvider(): iterable
2929
{
3030
yield [
3131
new Dsn('mailpace+api', 'default'),
@@ -53,19 +53,19 @@ public function supportsProvider(): iterable
5353
];
5454
}
5555

56-
public function createProvider(): iterable
56+
public static function createProvider(): iterable
5757
{
58-
$dispatcher = $this->getDispatcher();
59-
$logger = $this->getLogger();
58+
$dispatcher = self::getDispatcher();
59+
$logger = self::getLogger();
6060

6161
yield [
6262
new Dsn('mailpace+api', 'default', self::USER),
63-
new MailPaceApiTransport(self::USER, $this->getClient(), $dispatcher, $logger),
63+
new MailPaceApiTransport(self::USER, self::getClient(), $dispatcher, $logger),
6464
];
6565

6666
yield [
6767
new Dsn('mailpace+api', 'example.com', self::USER, '', 8080),
68-
(new MailPaceApiTransport(self::USER, $this->getClient(), $dispatcher, $logger))->setHost('example.com')->setPort(8080),
68+
(new MailPaceApiTransport(self::USER, self::getClient(), $dispatcher, $logger))->setHost('example.com')->setPort(8080),
6969
];
7070

7171
yield [
@@ -84,15 +84,15 @@ public function createProvider(): iterable
8484
];
8585
}
8686

87-
public function unsupportedSchemeProvider(): iterable
87+
public static function unsupportedSchemeProvider(): iterable
8888
{
8989
yield [
9090
new Dsn('mailpace+foo', 'default', self::USER),
9191
'The "mailpace+foo" scheme is not supported; supported schemes for mailer "mailpace" are: "mailpace", "mailpace+api", "mailpace+smtp", "mailpace+smtps".',
9292
];
9393
}
9494

95-
public function incompleteDsnProvider(): iterable
95+
public static function incompleteDsnProvider(): iterable
9696
{
9797
yield [new Dsn('mailpace+api', 'default')];
9898
}

src/Symfony/Component/Mailer/Bridge/Mailchimp/Tests/Transport/MandrillTransportFactoryTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121

2222
class MandrillTransportFactoryTest extends TransportFactoryTestCase
2323
{
24-
public function getFactory(): TransportFactoryInterface
24+
public static function getFactory(): TransportFactoryInterface
2525
{
26-
return new MandrillTransportFactory($this->getDispatcher(), $this->getClient(), $this->getLogger());
26+
return new MandrillTransportFactory(self::getDispatcher(), self::getClient(), self::getLogger());
2727
}
2828

29-
public function supportsProvider(): iterable
29+
public static function supportsProvider(): iterable
3030
{
3131
yield [
3232
new Dsn('mandrill', 'default'),
@@ -59,11 +59,11 @@ public function supportsProvider(): iterable
5959
];
6060
}
6161

62-
public function createProvider(): iterable
62+
public static function createProvider(): iterable
6363
{
64-
$client = $this->getClient();
65-
$dispatcher = $this->getDispatcher();
66-
$logger = $this->getLogger();
64+
$client = self::getClient();
65+
$dispatcher = self::getDispatcher();
66+
$logger = self::getLogger();
6767

6868
yield [
6969
new Dsn('mandrill+api', 'default', self::USER),
@@ -101,15 +101,15 @@ public function createProvider(): iterable
101101
];
102102
}
103103

104-
public function unsupportedSchemeProvider(): iterable
104+
public static function unsupportedSchemeProvider(): iterable
105105
{
106106
yield [
107107
new Dsn('mandrill+foo', 'default', self::USER),
108108
'The "mandrill+foo" scheme is not supported; supported schemes for mailer "mandrill" are: "mandrill", "mandrill+api", "mandrill+https", "mandrill+smtp", "mandrill+smtps".',
109109
];
110110
}
111111

112-
public function incompleteDsnProvider(): iterable
112+
public static function incompleteDsnProvider(): iterable
113113
{
114114
yield [new Dsn('mandrill+api', 'default')];
115115

0 commit comments

Comments
 (0)