diff --git a/src/Coverage/CoverageMergeCommand.php b/src/Coverage/CoverageMergeCommand.php index 4ebc3eb..b9dc527 100644 --- a/src/Coverage/CoverageMergeCommand.php +++ b/src/Coverage/CoverageMergeCommand.php @@ -505,7 +505,7 @@ private function appendGithubStepSummary(array $results, ?string $githubSummaryP * caller decides what to do with the return value (only `strict=true` * misses propagate to a non-zero exit). * - * @param array> $results + * @param array $results */ private function evaluateThresholdGate( array $results, @@ -517,7 +517,6 @@ private function evaluateThresholdGate( return false; } - /** @var array, endpointTotal: int, endpointFullyCovered: int, endpointPartial: int, endpointUncovered: int, endpointRequestOnly: int, responseTotal: int, responseCovered: int, responseSkipped: int, responseUncovered: int}> $results */ $evaluation = CoverageThresholdEvaluator::evaluate($results, $minEndpointPct, $minResponsePct, $strict); if ($evaluation['passed']) { @@ -654,7 +653,7 @@ private function reportThresholdProblem(bool $strict, string $detail): array /** * @param list $specs * - * @return array> + * @return array */ private function computeResults(array $specs, OpenApiCoverageTracker $tracker): array { diff --git a/tests/Unit/Coverage/CoverageThresholdEvaluatorTest.php b/tests/Unit/Coverage/CoverageThresholdEvaluatorTest.php index e2a03cb..9476f4d 100644 --- a/tests/Unit/Coverage/CoverageThresholdEvaluatorTest.php +++ b/tests/Unit/Coverage/CoverageThresholdEvaluatorTest.php @@ -7,12 +7,16 @@ use PHPUnit\Framework\Attributes\Test; use PHPUnit\Framework\TestCase; use Studio\OpenApiContractTesting\Coverage\CoverageThresholdEvaluator; +use Studio\OpenApiContractTesting\Coverage\OpenApiCoverageTracker; use function explode; use function str_repeat; use function substr; use function trim; +/** + * @phpstan-import-type CoverageResult from OpenApiCoverageTracker + */ class CoverageThresholdEvaluatorTest extends TestCase { #[Test] @@ -240,7 +244,7 @@ public function aligns_second_message_line_to_label_indent(): void * defaults match the empty/zero shape so a typo can't accidentally inflate * a metric. * - * @return array + * @return CoverageResult */ private static function counts( int $endpointFullyCovered, diff --git a/tests/Unit/Coverage/HtmlCoverageRendererTest.php b/tests/Unit/Coverage/HtmlCoverageRendererTest.php index 08b9ada..57e820e 100644 --- a/tests/Unit/Coverage/HtmlCoverageRendererTest.php +++ b/tests/Unit/Coverage/HtmlCoverageRendererTest.php @@ -8,6 +8,7 @@ use PHPUnit\Framework\TestCase; use Studio\OpenApiContractTesting\Coverage\EndpointCoverageState; use Studio\OpenApiContractTesting\Coverage\HtmlCoverageRenderer; +use Studio\OpenApiContractTesting\Coverage\OpenApiCoverageTracker; use Studio\OpenApiContractTesting\Coverage\ResponseCoverageState; use function array_unique; @@ -16,6 +17,9 @@ use function sort; use function substr_count; +/** + * @phpstan-import-type EndpointSummary from OpenApiCoverageTracker + */ class HtmlCoverageRendererTest extends TestCase { #[Test] @@ -560,7 +564,7 @@ private static function row( } /** - * @param array $endpoint + * @param EndpointSummary $endpoint */ private function renderOne( string $specName, diff --git a/tests/Unit/Coverage/JUnitCoverageRendererTest.php b/tests/Unit/Coverage/JUnitCoverageRendererTest.php index 62a3677..efcbf84 100644 --- a/tests/Unit/Coverage/JUnitCoverageRendererTest.php +++ b/tests/Unit/Coverage/JUnitCoverageRendererTest.php @@ -9,11 +9,15 @@ use SimpleXMLElement; use Studio\OpenApiContractTesting\Coverage\EndpointCoverageState; use Studio\OpenApiContractTesting\Coverage\JUnitCoverageRenderer; +use Studio\OpenApiContractTesting\Coverage\OpenApiCoverageTracker; use Studio\OpenApiContractTesting\Coverage\ResponseCoverageState; use function explode; use function simplexml_load_string; +/** + * @phpstan-import-type EndpointSummary from OpenApiCoverageTracker + */ class JUnitCoverageRendererTest extends TestCase { #[Test] @@ -388,7 +392,7 @@ private static function row( /** * Convenience: render a single-endpoint coverage result for a single spec. * - * @param array $endpoint + * @param EndpointSummary $endpoint */ private function renderOne( string $specName, diff --git a/tests/Unit/Coverage/JsonCoverageRendererTest.php b/tests/Unit/Coverage/JsonCoverageRendererTest.php index 9ccbed6..35ab2ef 100644 --- a/tests/Unit/Coverage/JsonCoverageRendererTest.php +++ b/tests/Unit/Coverage/JsonCoverageRendererTest.php @@ -10,6 +10,7 @@ use PHPUnit\Framework\TestCase; use Studio\OpenApiContractTesting\Coverage\EndpointCoverageState; use Studio\OpenApiContractTesting\Coverage\JsonCoverageRenderer; +use Studio\OpenApiContractTesting\Coverage\OpenApiCoverageTracker; use Studio\OpenApiContractTesting\Coverage\ResponseCoverageState; use function array_keys; @@ -17,6 +18,9 @@ use function is_array; use function json_decode; +/** + * @phpstan-import-type CoverageResult from OpenApiCoverageTracker + */ class JsonCoverageRendererTest extends TestCase { private const FIXED_TIMESTAMP = '2026-05-11T12:34:56+00:00'; @@ -442,7 +446,7 @@ private function renderOneValidated(): string } /** - * @return array> + * @return array */ private function oneSpecResults(): array { diff --git a/tests/Unit/Coverage/MarkdownCoverageRendererLintTest.php b/tests/Unit/Coverage/MarkdownCoverageRendererLintTest.php index e5851ae..40239ac 100644 --- a/tests/Unit/Coverage/MarkdownCoverageRendererLintTest.php +++ b/tests/Unit/Coverage/MarkdownCoverageRendererLintTest.php @@ -8,6 +8,7 @@ use PHPUnit\Framework\TestCase; use Studio\OpenApiContractTesting\Coverage\EndpointCoverageState; use Studio\OpenApiContractTesting\Coverage\MarkdownCoverageRenderer; +use Studio\OpenApiContractTesting\Coverage\OpenApiCoverageTracker; use Studio\OpenApiContractTesting\Coverage\ResponseCoverageState; use function dirname; @@ -23,6 +24,10 @@ use function tempnam; use function unlink; +/** + * @phpstan-import-type CoverageResult from OpenApiCoverageTracker + * @phpstan-import-type EndpointSummary from OpenApiCoverageTracker + */ final class MarkdownCoverageRendererLintTest extends TestCase { #[Test] @@ -38,7 +43,7 @@ public function edge_cases_rendered_markdown_passes_markdownlint(): void } /** - * @return array> + * @return array */ private static function standardFixture(): array { @@ -88,7 +93,7 @@ private static function standardFixture(): array } /** - * @return array> + * @return array */ private static function edgeCasesFixture(): array { @@ -137,7 +142,7 @@ private static function edgeCasesFixture(): array * @param list $responses * @param list $unexpectedObservations * - * @return array + * @return EndpointSummary */ private static function endpoint( string $endpoint, @@ -187,7 +192,7 @@ private static function row( } /** - * @param array> $results + * @param array $results */ private function assertRenderedMarkdownPassesLint(array $results): void {