Skip to content

Commit c903c4b

Browse files
committed
[#2362] Use yield in data providers.
1 parent 4b1927a commit c903c4b

204 files changed

Lines changed: 13423 additions & 14416 deletions

File tree

Some content is hidden

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

.vortex/installer/phpcs.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,10 @@
4646
<exclude-pattern>*.TestCase\.php</exclude-pattern>
4747
<exclude-pattern>*.test</exclude-pattern>
4848
</rule>
49+
<!-- Avoid false positives on type-hinted return statements. -->
50+
<rule ref="Drupal.Commenting.FunctionComment.MissingReturnComment">
51+
<exclude-pattern>*.Test\.php</exclude-pattern>
52+
<exclude-pattern>*.TestCase\.php</exclude-pattern>
53+
<exclude-pattern>*.test</exclude-pattern>
54+
</rule>
4955
</ruleset>

.vortex/installer/rector.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
use Rector\Naming\Rector\ClassMethod\RenameVariableToMatchNewTypeRector;
2828
use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector;
2929
use Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector;
30+
use Rector\PHPUnit\CodeQuality\Rector\Class_\YieldDataProviderRector;
3031
use Rector\Privatization\Rector\ClassMethod\PrivatizeFinalClassMethodRector;
3132
use Rector\Privatization\Rector\MethodCall\PrivatizeLocalGetterToPropertyRector;
3233
use Rector\Privatization\Rector\Property\PrivatizeFinalClassPropertyRector;
@@ -80,6 +81,7 @@
8081
// Additional rules.
8182
->withRules([
8283
DeclareStrictTypesRector::class,
84+
YieldDataProviderRector::class,
8385
])
8486
->withFileExtensions([
8587
'php',

.vortex/installer/src/Prompts/Handlers/Tools.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,9 @@ public static function getToolDefinitions(string $filter = 'all'): array {
382382
'ahoy test-functional',
383383
'ahoy test -- --filter=TestClassName',
384384
],
385+
'rector.php' => [
386+
'YieldDataProviderRector',
387+
],
385388
],
386389
'ahoy' => [
387390
'/^.*phpunit.*\n?/m',

.vortex/installer/tests/Fixtures/handler_process/_baseline/rector.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
use Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector;
3737
use Rector\Php81\Rector\Array_\ArrayToFirstClassCallableRector;
3838
use Rector\Php83\Rector\ClassMethod\AddOverrideAttributeToOverriddenMethodsRector;
39+
use Rector\PHPUnit\CodeQuality\Rector\Class_\YieldDataProviderRector;
3940
use Rector\Privatization\Rector\ClassMethod\PrivatizeFinalClassMethodRector;
4041
use Rector\Privatization\Rector\MethodCall\PrivatizeLocalGetterToPropertyRector;
4142
use Rector\Privatization\Rector\Property\PrivatizeFinalClassPropertyRector;
@@ -98,6 +99,7 @@
9899
// Additional rules.
99100
->withRules([
100101
DeclareStrictTypesRector::class,
102+
YieldDataProviderRector::class,
101103
])
102104
// Configure Drupal autoloading.
103105
->withAutoloadPaths((function (): array {

.vortex/installer/tests/Fixtures/handler_process/_baseline/tests/phpunit/Drupal/DatabaseSettingsTest.php

Lines changed: 77 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -30,108 +30,107 @@ public function testDatabases(array $vars, array $expected): void {
3030
/**
3131
* Data provider for resulting database settings.
3232
*/
33-
public static function dataProviderDatabases(): array {
34-
return [
33+
public static function dataProviderDatabases(): \Iterator {
34+
yield [
35+
[],
3536
[
36-
[],
37-
[
37+
'default' => [
3838
'default' => [
39-
'default' => [
40-
'database' => 'drupal',
41-
'username' => 'drupal',
42-
'password' => 'drupal',
43-
'host' => 'localhost',
44-
'port' => '3306',
45-
'charset' => 'utf8mb4',
46-
'collation' => 'utf8mb4_general_ci',
47-
'driver' => 'mysql',
48-
'prefix' => '',
49-
],
39+
'database' => 'drupal',
40+
'username' => 'drupal',
41+
'password' => 'drupal',
42+
'host' => 'localhost',
43+
'port' => '3306',
44+
'charset' => 'utf8mb4',
45+
'collation' => 'utf8mb4_general_ci',
46+
'driver' => 'mysql',
47+
'prefix' => '',
5048
],
5149
],
5250
],
51+
];
5352

53+
yield [
5454
[
55-
[
56-
'DATABASE_NAME' => 'database_db_name',
57-
'DATABASE_USERNAME' => 'database_db_user',
58-
'DATABASE_PASSWORD' => 'database_db_pass',
59-
'DATABASE_HOST' => 'database_db_host',
60-
'DATABASE_PORT' => 'database_db_port',
61-
'DATABASE_CHARSET' => 'database_utf8',
62-
'DATABASE_COLLATION' => 'database_utf8_unicode_ci',
63-
],
64-
[
55+
'DATABASE_NAME' => 'database_db_name',
56+
'DATABASE_USERNAME' => 'database_db_user',
57+
'DATABASE_PASSWORD' => 'database_db_pass',
58+
'DATABASE_HOST' => 'database_db_host',
59+
'DATABASE_PORT' => 'database_db_port',
60+
'DATABASE_CHARSET' => 'database_utf8',
61+
'DATABASE_COLLATION' => 'database_utf8_unicode_ci',
62+
],
63+
[
64+
'default' => [
6565
'default' => [
66-
'default' => [
67-
'database' => 'database_db_name',
68-
'username' => 'database_db_user',
69-
'password' => 'database_db_pass',
70-
'host' => 'database_db_host',
71-
'port' => 'database_db_port',
72-
'charset' => 'database_utf8',
73-
'collation' => 'database_utf8_unicode_ci',
74-
'driver' => 'mysql',
75-
'prefix' => '',
76-
],
66+
'database' => 'database_db_name',
67+
'username' => 'database_db_user',
68+
'password' => 'database_db_pass',
69+
'host' => 'database_db_host',
70+
'port' => 'database_db_port',
71+
'charset' => 'database_utf8',
72+
'collation' => 'database_utf8_unicode_ci',
73+
'driver' => 'mysql',
74+
'prefix' => '',
7775
],
7876
],
7977
],
78+
];
8079

80+
yield [
8181
[
82-
[
83-
'MARIADB_DATABASE' => 'mariadb_db_name',
84-
'MARIADB_USERNAME' => 'mariadb_db_user',
85-
'MARIADB_PASSWORD' => 'mariadb_db_pass',
86-
'MARIADB_HOST' => 'mariadb_db_host',
87-
'MARIADB_PORT' => 'mariadb_db_port',
88-
'MARIADB_CHARSET' => 'mariadb_latin1',
89-
'MARIADB_COLLATION' => 'mariadb_latin1_swedish_ci',
90-
],
91-
[
82+
'MARIADB_DATABASE' => 'mariadb_db_name',
83+
'MARIADB_USERNAME' => 'mariadb_db_user',
84+
'MARIADB_PASSWORD' => 'mariadb_db_pass',
85+
'MARIADB_HOST' => 'mariadb_db_host',
86+
'MARIADB_PORT' => 'mariadb_db_port',
87+
'MARIADB_CHARSET' => 'mariadb_latin1',
88+
'MARIADB_COLLATION' => 'mariadb_latin1_swedish_ci',
89+
],
90+
[
91+
'default' => [
9292
'default' => [
93-
'default' => [
94-
'database' => 'mariadb_db_name',
95-
'username' => 'mariadb_db_user',
96-
'password' => 'mariadb_db_pass',
97-
'host' => 'mariadb_db_host',
98-
'port' => 'mariadb_db_port',
99-
'charset' => 'mariadb_latin1',
100-
'collation' => 'mariadb_latin1_swedish_ci',
101-
'driver' => 'mysql',
102-
'prefix' => '',
103-
],
93+
'database' => 'mariadb_db_name',
94+
'username' => 'mariadb_db_user',
95+
'password' => 'mariadb_db_pass',
96+
'host' => 'mariadb_db_host',
97+
'port' => 'mariadb_db_port',
98+
'charset' => 'mariadb_latin1',
99+
'collation' => 'mariadb_latin1_swedish_ci',
100+
'driver' => 'mysql',
101+
'prefix' => '',
104102
],
105103
],
106104
],
105+
];
107106

107+
yield [
108108
[
109-
[
110-
'DATABASE_DATABASE' => 'database_db_name',
111-
'DATABASE_USERNAME' => 'database_db_user',
112-
'DATABASE_PASSWORD' => 'database_db_pass',
113-
'DATABASE_HOST' => 'database_db_host',
114-
'DATABASE_PORT' => 'database_db_port',
115-
'MYSQL_CHARSET' => 'mysql_utf8mb3',
116-
'MYSQL_COLLATION' => 'mysql_utf8mb3_bin',
117-
],
118-
[
109+
'DATABASE_DATABASE' => 'database_db_name',
110+
'DATABASE_USERNAME' => 'database_db_user',
111+
'DATABASE_PASSWORD' => 'database_db_pass',
112+
'DATABASE_HOST' => 'database_db_host',
113+
'DATABASE_PORT' => 'database_db_port',
114+
'MYSQL_CHARSET' => 'mysql_utf8mb3',
115+
'MYSQL_COLLATION' => 'mysql_utf8mb3_bin',
116+
],
117+
[
118+
'default' => [
119119
'default' => [
120-
'default' => [
121-
'database' => 'database_db_name',
122-
'username' => 'database_db_user',
123-
'password' => 'database_db_pass',
124-
'host' => 'database_db_host',
125-
'port' => 'database_db_port',
126-
'charset' => 'mysql_utf8mb3',
127-
'collation' => 'mysql_utf8mb3_bin',
128-
'driver' => 'mysql',
129-
'prefix' => '',
130-
],
120+
'database' => 'database_db_name',
121+
'username' => 'database_db_user',
122+
'password' => 'database_db_pass',
123+
'host' => 'database_db_host',
124+
'port' => 'database_db_port',
125+
'charset' => 'mysql_utf8mb3',
126+
'collation' => 'mysql_utf8mb3_bin',
127+
'driver' => 'mysql',
128+
'prefix' => '',
131129
],
132130
],
133131
],
134132
];
133+
135134
}
136135

137136
}

.vortex/installer/tests/Fixtures/handler_process/_baseline/tests/phpunit/Drupal/EnvironmentSettingsTest.php

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,28 +38,26 @@ public function testEnvironmentTypeDetection(array $vars, string $expected_env):
3838
/**
3939
* Data provider for testing environment type detection.
4040
*/
41-
public static function dataProviderEnvironmentTypeDetection(): array {
42-
return [
43-
// By default, the default environment type is local.
44-
[[], self::ENVIRONMENT_LOCAL],
41+
public static function dataProviderEnvironmentTypeDetection(): \Iterator {
42+
// By default, the default environment type is local.
43+
yield [[], self::ENVIRONMENT_LOCAL];
4544

46-
// CI.
45+
// CI.
46+
yield [
4747
[
48-
[
49-
'CI' => 1,
50-
],
51-
self::ENVIRONMENT_CI,
48+
'CI' => 1,
5249
],
50+
self::ENVIRONMENT_CI,
51+
];
5352

54-
// Container.
53+
// Container.
54+
yield [
5555
[
56-
[
57-
'VORTEX_LOCALDEV_URL' => 'https://example-site.docker.amazee.io',
58-
],
59-
self::ENVIRONMENT_LOCAL,
56+
'VORTEX_LOCALDEV_URL' => 'https://example-site.docker.amazee.io',
6057
],
61-
58+
self::ENVIRONMENT_LOCAL,
6259
];
60+
6361
}
6462

6563
/**

0 commit comments

Comments
 (0)