Skip to content

Commit 00c49b0

Browse files
authored
[CLEANUP] Reduce callbacks for data providers in the tests (#1403)
Let's reduce cognitive complexity to make the lives of the poor developers a bit easier. This is in preparation to migrating more data providers to the new `rawr/phpunit-data-provider` package.
1 parent d96597d commit 00c49b0

File tree

3 files changed

+8
-53
lines changed

3 files changed

+8
-53
lines changed

config/phpstan-baseline.neon

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -242,24 +242,6 @@ parameters:
242242
count: 1
243243
path: ../tests/Unit/HtmlProcessor/HtmlPrunerTest.php
244244

245-
-
246-
message: '#^Method Pelago\\Emogrifier\\Tests\\Unit\\Support\\Constraint\\IsEquivalentCssTest\:\:arrayMapKeys\(\) should return array\<string, T\> but returns array\<string, T\>\|false\.$#'
247-
identifier: return.type
248-
count: 1
249-
path: ../tests/Unit/Support/Constraint/IsEquivalentCssTest.php
250-
251-
-
252-
message: '#^Method Pelago\\Emogrifier\\Tests\\Unit\\Support\\Constraint\\StringContainsCssCountTest\:\:arrayMapKeys\(\) should return array\<string, T\> but returns array\<string, T\>\|false\.$#'
253-
identifier: return.type
254-
count: 1
255-
path: ../tests/Unit/Support/Constraint/StringContainsCssCountTest.php
256-
257-
-
258-
message: '#^Method Pelago\\Emogrifier\\Tests\\Unit\\Support\\Constraint\\StringContainsCssTest\:\:arrayMapKeys\(\) should return array\<string, T\> but returns array\<string, T\>\|false\.$#'
259-
identifier: return.type
260-
count: 1
261-
path: ../tests/Unit/Support/Constraint/StringContainsCssTest.php
262-
263245
-
264246
message: '#^Parameter \#1 \$input of function array_filter expects array, array\<int, array\<int, string\>\>\|null given\.$#'
265247
identifier: argument.type

tests/Support/Traits/CssDataProviders.php

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -143,12 +143,10 @@ public function provideEquivalentCssInStyleTags(): array
143143
{
144144
$datasetsWithoutStyleTags = $this->provideEquivalentCompleteCss();
145145

146-
$datasetsWithRenamedKeys = static::arrayMapKeys(
147-
static function (string $description): string {
148-
return $description . ' in <style> tag';
149-
},
150-
$datasetsWithoutStyleTags
151-
);
146+
$datasetsWithRenamedKeys = [];
147+
foreach ($datasetsWithoutStyleTags as $description => $dataset) {
148+
$datasetsWithRenamedKeys[$description . ' in <style> tag'] = $dataset;
149+
}
152150

153151
$datasets = \array_map(
154152
/**
@@ -346,17 +344,4 @@ private static function crossDatasetWithItself(array $dataset): array
346344

347345
return $result;
348346
}
349-
350-
/**
351-
* @template T
352-
*
353-
* @param callable(string):string $callback
354-
* @param array<string, T> $array
355-
*
356-
* @return array<string, T>
357-
*/
358-
private static function arrayMapKeys(callable $callback, array $array): array
359-
{
360-
return \array_combine(\array_map($callback, \array_keys($array)), \array_values($array));
361-
}
362347
}

tests/Unit/Support/Constraint/IsEquivalentCssTest.php

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -59,22 +59,10 @@ public function provideNonEquivalentCss(): array
5959
{
6060
$datasets = $this->provideCssNeedleNotFoundInHaystack() + $this->provideCssNeedleFoundInLargerHaystack();
6161

62-
$transposedDatasets = \array_map(
63-
/**
64-
* @param array{0: string, 1: string} $dataset
65-
*
66-
* @return array{0: string, 1: string}
67-
*/
68-
static function (array $dataset): array {
69-
return [$dataset[1], $dataset[0]];
70-
},
71-
static::arrayMapKeys(
72-
static function (string $description): string {
73-
return $description . ' (transposed)';
74-
},
75-
$datasets
76-
)
77-
);
62+
$transposedDatasets = [];
63+
foreach ($datasets as $description => $dataset) {
64+
$transposedDatasets[$description . ' (transposed)'] = [$dataset[1], $dataset[0]];
65+
}
7866

7967
return $datasets + $transposedDatasets;
8068
}

0 commit comments

Comments
 (0)