From aba099857dfea5498900c1cdef5fae2be20ce514 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 05:32:10 +0000 Subject: [PATCH 1/8] Update dependency nikic/php-parser to v5 | datasource | package | from | to | | ---------- | ---------------- | ------ | ----- | | packagist | nikic/php-parser | 4.19.4 | 5.4.0 | --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 09a1a7c3..d49b897c 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,7 @@ "ext-simplexml": "*", "azjezz/psl": "^3.0.2", "composer/composer": "^2.7.6", - "nikic/php-parser": "^4.19.1", + "nikic/php-parser": "^5.4.0", "nikolaposa/version": "^4.2.0", "ocramius/package-versions": "^2.8.0", "roave/better-reflection": "^6.26.0", From 513d65eadb57cff96193bafdcb6990a318a74428 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Mon, 27 Jan 2025 04:05:17 +0100 Subject: [PATCH 2/8] Upgraded test suite to comply with newer PHPUnit semantics * instructed `psalm/plugin-phpunit` to ignore unused `test/` code * instructed PHPUnit to convert deprecations to failures (new XSD) * moved to newer Psalm / PHP-Parser versions * moved to PHPUnit attributes for coverage and data providers * migrated to new PHPUnit source directory declarations Note: some `./vendor/bin/psalm` commands fail when caching is involved: usages of some methods seem to not be picked up properly. --- .github/workflows/continuous-integration.yml | 1 + composer.json | 10 +- composer.lock | 2579 ++++++++++++----- phpunit.xml.dist | 9 +- psalm.xml | 6 + .../Command/AssertBackwardsCompatibleTest.php | 3 +- test/unit/ChangeTest.php | 3 +- test/unit/ChangesTest.php | 12 +- .../Command/AssertBackwardsCompatibleTest.php | 6 +- test/unit/CompareClassesTest.php | 3 +- .../ClassBased/AncestorRemovedTest.php | 11 +- .../ClassBased/ClassBecameAbstractTest.php | 11 +- .../ClassBased/ClassBecameFinalTest.php | 10 +- .../ClassBased/ClassBecameInterfaceTest.php | 10 +- .../ClassBased/ClassBecameInternalTest.php | 11 +- .../ClassBased/ClassBecameTraitTest.php | 11 +- .../ClassBased/ConstantChangedTest.php | 3 +- .../ClassBased/ConstantRemovedTest.php | 10 +- .../ClassBased/EnumCasesChangedTest.php | 11 +- .../ExcludeAnonymousClassesTest.php | 16 +- .../ClassBased/ExcludeInternalClassTest.php | 3 +- .../ClassBased/FinalClassChangedTest.php | 3 +- .../BCBreak/ClassBased/MethodChangedTest.php | 3 +- .../BCBreak/ClassBased/MethodRemovedTest.php | 10 +- .../ClassBased/MultipleChecksOnAClassTest.php | 3 +- .../ClassBased/OpenClassChangedTest.php | 3 +- .../ClassBased/PropertyChangedTest.php | 3 +- .../ClassBased/PropertyRemovedTest.php | 10 +- .../ClassBased/SkipClassBasedErrorsTest.php | 3 +- .../ClassConstantValueChangedTest.php | 11 +- .../ClassConstantVisibilityReducedTest.php | 11 +- .../MultipleChecksOnAClassConstantTest.php | 3 +- .../OnlyProtectedClassConstantChangedTest.php | 3 +- .../OnlyPublicClassConstantChangedTest.php | 3 +- .../SkipClassConstantBasedErrorsTest.php | 3 +- .../ExcludeInternalFunctionTest.php | 3 +- .../FunctionBecameInternalTest.php | 11 +- .../MultipleChecksOnAFunctionTest.php | 3 +- .../ParameterByReferenceChangedTest.php | 11 +- .../ParameterDefaultValueChangedTest.php | 11 +- .../ParameterNameChangedTest.php | 11 +- .../ParameterTypeChangedTest.php | 11 +- ...ParameterTypeContravarianceChangedTest.php | 11 +- .../RequiredParameterAmountIncreasedTest.php | 11 +- .../ReturnTypeByReferenceChangedTest.php | 11 +- .../FunctionBased/ReturnTypeChangedTest.php | 11 +- .../ReturnTypeCovarianceChangedTest.php | 11 +- .../SkipFunctionBasedErrorsTest.php | 3 +- .../InterfaceBased/AncestorRemovedTest.php | 11 +- .../ExcludeInternalInterfaceTest.php | 3 +- .../InterfaceBecameClassTest.php | 10 +- .../InterfaceBecameTraitTest.php | 10 +- .../InterfaceBased/MethodAddedTest.php | 10 +- .../MultipleChecksOnAnInterfaceTest.php | 3 +- .../SkipInterfaceBasedErrorsTest.php | 3 +- .../UseClassBasedChecksOnAnInterfaceTest.php | 3 +- .../AccessibleMethodChangeTest.php | 3 +- .../MethodBased/ExcludeInternalMethodTest.php | 3 +- .../MethodBased/MethodBecameFinalTest.php | 13 +- .../MethodConcretenessChangedTest.php | 13 +- .../MethodFunctionDefinitionChangedTest.php | 3 +- .../MethodBased/MethodParameterAddedTest.php | 11 +- .../MethodBased/MethodScopeChangedTest.php | 13 +- .../MethodVisibilityReducedTest.php | 13 +- .../MultipleChecksOnAMethodTest.php | 3 +- .../OnlyProtectedMethodChangedTest.php | 3 +- .../OnlyPublicMethodChangedTest.php | 3 +- .../MethodBased/SkipMethodBasedErrorsTest.php | 3 +- .../AccessiblePropertyChangedTest.php | 3 +- .../ExcludeInternalPropertyTest.php | 3 +- .../MultipleChecksOnAPropertyTest.php | 3 +- .../OnlyProtectedPropertyChangedTest.php | 3 +- .../OnlyPublicPropertyChangedTest.php | 3 +- .../PropertyBecameInternalTest.php | 11 +- .../PropertyDefaultValueChangedTest.php | 11 +- .../PropertyScopeChangedTest.php | 11 +- .../PropertyBased/PropertyTypeChangedTest.php | 11 +- .../PropertyVisibilityReducedTest.php | 11 +- .../SkipPropertyBasedErrorsTest.php | 3 +- .../TraitBased/ExcludeInternalTraitTest.php | 3 +- .../TraitBased/MultipleChecksOnATraitTest.php | 3 +- .../TraitBased/SkipTraitBasedErrorsTest.php | 3 +- .../TraitBased/TraitBecameClassTest.php | 11 +- .../TraitBased/TraitBecameInterfaceTest.php | 11 +- .../UseClassBasedChecksOnATraitTest.php | 3 +- .../Variance/TypeIsContravariantTest.php | 10 +- .../Variance/TypeIsCovariantTest.php | 10 +- ...mposerInstallationReflectorFactoryTest.php | 3 +- test/unit/Formatter/FunctionNameTest.php | 6 +- .../Formatter/GithubActionsFormatterTest.php | 3 +- test/unit/Formatter/JsonFormatterTest.php | 3 +- test/unit/Formatter/JunitFormatterTest.php | 3 +- ...downPipedToSymfonyConsoleFormatterTest.php | 3 +- .../Formatter/ReflectionPropertyNameTest.php | 6 +- test/unit/Formatter/SymbolStartTest.php | 3 +- .../SymfonyConsoleTextFormatterTest.php | 3 +- test/unit/Git/CheckedOutRepositoryTest.php | 3 +- ...VersionCollectionFromGitRepositoryTest.php | 3 +- ...GitCheckoutRevisionToTemporaryPathTest.php | 3 +- test/unit/Git/GitParseRevisionTest.php | 6 +- .../Git/PickLastVersionFromCollectionTest.php | 11 +- test/unit/Git/RevisionTest.php | 6 +- .../LocateDependenciesViaComposerTest.php | 3 +- .../LocateSourcesViaComposerJsonTest.php | 3 +- ...SourceWithStrippedSourcesDirectoryTest.php | 9 +- .../ReplaceSourcePathOfLocatedSourcesTest.php | 7 +- .../StaticClassMapSourceLocatorTest.php | 11 +- 107 files changed, 2237 insertions(+), 1055 deletions(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 176ced7a..a95d36bc 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -47,6 +47,7 @@ jobs: php-version: - "8.2" - "8.3" + - "8.4" operating-system: - "ubuntu-latest" diff --git a/composer.json b/composer.json index d49b897c..cc949992 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "roave/backward-compatibility-check", "description": "Tool to compare two revisions of a public API to check for BC breaks", "require": { - "php": "~8.2.0 || ~8.3.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", @@ -30,12 +30,12 @@ "doctrine/coding-standard": "^12.0.0", "estahn/phpunit-json-assertions": "^4.0", "php-standard-library/psalm-plugin": "^2.3.0", - "phpunit/phpunit": "^10.5.44", - "psalm/plugin-phpunit": "^0.19.0", - "roave/infection-static-analysis-plugin": "^1.35.0", + "phpunit/phpunit": "^11.5.3", + "psalm/plugin-phpunit": "^0.19.2", + "roave/infection-static-analysis-plugin": "^1.36.0", "roave/security-advisories": "dev-master", "squizlabs/php_codesniffer": "^3.10.0", - "vimeo/psalm": "^5.24.0" + "vimeo/psalm": "^6.0.0" }, "conflict": { "revolt/event-loop": "<0.2.5", diff --git a/composer.lock b/composer.lock index 914baa48..dff73d37 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b45db2c9f3fcb8b5a29bab64852c0a36", + "content-hash": "aab0c94a7070e4483c9908f746f12fff", "packages": [ { "name": "azjezz/psl", @@ -786,24 +786,23 @@ }, { "name": "jetbrains/phpstorm-stubs", - "version": "v2023.3", + "version": "v2024.3", "source": { "type": "git", "url": "https://github.com/JetBrains/phpstorm-stubs.git", - "reference": "99d8bcab934ae5362f33660b1cd4b8c4d617c40b" + "reference": "0e82bdfe850c71857ee4ee3501ed82a9fc5d043c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JetBrains/phpstorm-stubs/zipball/99d8bcab934ae5362f33660b1cd4b8c4d617c40b", - "reference": "99d8bcab934ae5362f33660b1cd4b8c4d617c40b", + "url": "https://api.github.com/repos/JetBrains/phpstorm-stubs/zipball/0e82bdfe850c71857ee4ee3501ed82a9fc5d043c", + "reference": "0e82bdfe850c71857ee4ee3501ed82a9fc5d043c", "shasum": "" }, "require-dev": { - "friendsofphp/php-cs-fixer": "@stable", - "nikic/php-parser": "@stable", - "php": "^8.0", - "phpdocumentor/reflection-docblock": "@stable", - "phpunit/phpunit": "^9.6" + "friendsofphp/php-cs-fixer": "v3.64.0", + "nikic/php-parser": "v5.3.1", + "phpdocumentor/reflection-docblock": "5.6.0", + "phpunit/phpunit": "11.4.3" }, "type": "library", "autoload": { @@ -828,9 +827,9 @@ "type" ], "support": { - "source": "https://github.com/JetBrains/phpstorm-stubs/tree/v2023.3" + "source": "https://github.com/JetBrains/phpstorm-stubs/tree/v2024.3" }, - "time": "2023-11-01T18:52:29+00:00" + "time": "2024-12-14T08:03:12+00:00" }, { "name": "justinrainbow/json-schema", @@ -899,25 +898,27 @@ }, { "name": "nikic/php-parser", - "version": "v4.19.4", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2" + "reference": "447a020a1f875a434d62f2a401f53b82a396e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/715f4d25e225bc47b293a8b997fe6ce99bf987d2", - "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494", + "reference": "447a020a1f875a434d62f2a401f53b82a396e494", "shasum": "" }, "require": { + "ext-ctype": "*", + "ext-json": "*", "ext-tokenizer": "*", - "php": ">=7.1" + "php": ">=7.4" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^9.0" }, "bin": [ "bin/php-parse" @@ -925,7 +926,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.9-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -949,9 +950,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.4" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0" }, - "time": "2024-09-29T15:01:53+00:00" + "time": "2024-12-30T11:07:19+00:00" }, { "name": "nikolaposa/version", @@ -1327,28 +1328,31 @@ }, { "name": "roave/better-reflection", - "version": "6.26.0", + "version": "6.54.0", "source": { "type": "git", "url": "https://github.com/Roave/BetterReflection.git", - "reference": "658309b70c5afd7b9cfaad20c18aff3943cce23a" + "reference": "18f3778192f4f38d07f2f5bac63b43c5682f20e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/BetterReflection/zipball/658309b70c5afd7b9cfaad20c18aff3943cce23a", - "reference": "658309b70c5afd7b9cfaad20c18aff3943cce23a", + "url": "https://api.github.com/repos/Roave/BetterReflection/zipball/18f3778192f4f38d07f2f5bac63b43c5682f20e2", + "reference": "18f3778192f4f38d07f2f5bac63b43c5682f20e2", "shasum": "" }, "require": { "ext-json": "*", - "jetbrains/phpstorm-stubs": "2023.3", - "nikic/php-parser": "^4.18.0", - "php": "~8.2.0 || ~8.3.2", - "roave/signature": "^1.8.0" + "jetbrains/phpstorm-stubs": "2024.3", + "nikic/php-parser": "^5.4.0", + "php": "~8.2.0 || ~8.3.2 || ~8.4.1" }, "conflict": { "thecodingmachine/safe": "<1.1.3" }, + "require-dev": { + "phpbench/phpbench": "^1.3.1", + "phpunit/phpunit": "^11.5.3" + }, "suggest": { "composer/composer": "Required to use the ComposerSourceLocator" }, @@ -1387,50 +1391,9 @@ "description": "Better Reflection - an improved code reflection API", "support": { "issues": "https://github.com/Roave/BetterReflection/issues", - "source": "https://github.com/Roave/BetterReflection/tree/6.26.0" - }, - "time": "2024-03-11T17:43:07+00:00" - }, - { - "name": "roave/signature", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/Roave/Signature.git", - "reference": "f30f7107f08215cea86a6996613bf86c20db1bda" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Roave/Signature/zipball/f30f7107f08215cea86a6996613bf86c20db1bda", - "reference": "f30f7107f08215cea86a6996613bf86c20db1bda", - "shasum": "" - }, - "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" - }, - "require-dev": { - "doctrine/coding-standard": "^12.0.0", - "phpunit/phpunit": "^11.5.6", - "psalm/plugin-phpunit": "^0.19.2", - "roave/infection-static-analysis-plugin": "^1.36.0", - "vimeo/psalm": "^6.4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Roave\\Signature\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Sign and verify stuff", - "support": { - "issues": "https://github.com/Roave/Signature/issues", - "source": "https://github.com/Roave/Signature/tree/1.9.0" + "source": "https://github.com/Roave/BetterReflection/tree/6.54.0" }, - "time": "2025-02-05T15:43:11+00:00" + "time": "2025-01-25T13:13:25+00:00" }, { "name": "seld/jsonlint", @@ -2680,43 +2643,36 @@ "packages-dev": [ { "name": "amphp/amp", - "version": "v2.6.4", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/amphp/amp.git", - "reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d" + "reference": "7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/ded3d9be08f526089eb7ee8d9f16a9768f9dec2d", - "reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d", + "url": "https://api.github.com/repos/amphp/amp/zipball/7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9", + "reference": "7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" }, "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1", - "ext-json": "*", - "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^7 | ^8 | ^9", - "react/promise": "^2", - "vimeo/psalm": "^3.12" + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "5.23.1" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, "autoload": { "files": [ - "lib/functions.php", - "lib/Internal/functions.php" + "src/functions.php", + "src/Future/functions.php", + "src/Internal/functions.php" ], "psr-4": { - "Amp\\": "lib" + "Amp\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2724,10 +2680,6 @@ "MIT" ], "authors": [ - { - "name": "Daniel Lowrey", - "email": "rdlowrey@php.net" - }, { "name": "Aaron Piotrowski", "email": "aaron@trowski.com" @@ -2739,6 +2691,10 @@ { "name": "Niklas Keller", "email": "me@kelunik.com" + }, + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" } ], "description": "A non-blocking concurrency framework for PHP applications.", @@ -2755,9 +2711,8 @@ "promise" ], "support": { - "irc": "irc://irc.freenode.org/amphp", "issues": "https://github.com/amphp/amp/issues", - "source": "https://github.com/amphp/amp/tree/v2.6.4" + "source": "https://github.com/amphp/amp/tree/v3.1.0" }, "funding": [ { @@ -2765,41 +2720,45 @@ "type": "github" } ], - "time": "2024-03-21T18:52:26+00:00" + "time": "2025-01-26T16:07:39+00:00" }, { "name": "amphp/byte-stream", - "version": "v1.8.2", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/amphp/byte-stream.git", - "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc" + "reference": "daa00f2efdbd71565bf64ffefa89e37542addf93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/byte-stream/zipball/4f0e968ba3798a423730f567b1b50d3441c16ddc", - "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc", + "url": "https://api.github.com/repos/amphp/byte-stream/zipball/daa00f2efdbd71565bf64ffefa89e37542addf93", + "reference": "daa00f2efdbd71565bf64ffefa89e37542addf93", "shasum": "" }, "require": { - "amphp/amp": "^2", - "php": ">=7.1" + "amphp/amp": "^3", + "amphp/parser": "^1.1", + "amphp/pipeline": "^1", + "amphp/serialization": "^1", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2.3" }, "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1.4", - "friendsofphp/php-cs-fixer": "^2.3", - "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^6 || ^7 || ^8", - "psalm/phar": "^3.11.4" + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.22.1" }, "type": "library", "autoload": { "files": [ - "lib/functions.php" + "src/functions.php", + "src/Internal/functions.php" ], "psr-4": { - "Amp\\ByteStream\\": "lib" + "Amp\\ByteStream\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2828,7 +2787,7 @@ ], "support": { "issues": "https://github.com/amphp/byte-stream/issues", - "source": "https://github.com/amphp/byte-stream/tree/v1.8.2" + "source": "https://github.com/amphp/byte-stream/tree/v2.1.1" }, "funding": [ { @@ -2836,53 +2795,39 @@ "type": "github" } ], - "time": "2024-04-13T18:00:56+00:00" + "time": "2024-02-17T04:49:38+00:00" }, { - "name": "colinodell/json5", - "version": "v2.3.0", + "name": "amphp/cache", + "version": "v2.0.1", "source": { "type": "git", - "url": "https://github.com/colinodell/json5.git", - "reference": "15b063f8cb5e6deb15f0cd39123264ec0d19c710" + "url": "https://github.com/amphp/cache.git", + "reference": "46912e387e6aa94933b61ea1ead9cf7540b7797c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/colinodell/json5/zipball/15b063f8cb5e6deb15f0cd39123264ec0d19c710", - "reference": "15b063f8cb5e6deb15f0cd39123264ec0d19c710", + "url": "https://api.github.com/repos/amphp/cache/zipball/46912e387e6aa94933b61ea1ead9cf7540b7797c", + "reference": "46912e387e6aa94933b61ea1ead9cf7540b7797c", "shasum": "" }, "require": { - "ext-json": "*", - "ext-mbstring": "*", - "php": "^7.1.3|^8.0" - }, - "conflict": { - "scrutinizer/ocular": "1.7.*" + "amphp/amp": "^3", + "amphp/serialization": "^1", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" }, "require-dev": { - "mikehaertl/php-shellcommand": "^1.2.5", - "phpstan/phpstan": "^1.4", - "scrutinizer/ocular": "^1.6", - "squizlabs/php_codesniffer": "^2.3 || ^3.0", - "symfony/finder": "^4.4|^5.4|^6.0", - "symfony/phpunit-bridge": "^5.4|^6.0" + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.4" }, - "bin": [ - "bin/json5" - ], "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, "autoload": { - "files": [ - "src/global.php" - ], "psr-4": { - "ColinODell\\Json5\\": "src" + "Amp\\Cache\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2891,78 +2836,71 @@ ], "authors": [ { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Developer" + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" } ], - "description": "UTF-8 compatible JSON5 parser for PHP", - "homepage": "https://github.com/colinodell/json5", - "keywords": [ - "JSON5", - "json", - "json5_decode", - "json_decode" - ], + "description": "A fiber-aware cache API based on Amp and Revolt.", + "homepage": "https://amphp.org/cache", "support": { - "issues": "https://github.com/colinodell/json5/issues", - "source": "https://github.com/colinodell/json5/tree/v2.3.0" + "issues": "https://github.com/amphp/cache/issues", + "source": "https://github.com/amphp/cache/tree/v2.0.1" }, "funding": [ { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", + "url": "https://github.com/amphp", "type": "github" - }, - { - "url": "https://www.patreon.com/colinodell", - "type": "patreon" } ], - "time": "2022-12-27T16:44:40+00:00" + "time": "2024-04-19T03:38:06+00:00" }, { - "name": "dealerdirect/phpcodesniffer-composer-installer", - "version": "v1.0.0", + "name": "amphp/dns", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/PHPCSStandards/composer-installer.git", - "reference": "4be43904336affa5c2f70744a348312336afd0da" + "url": "https://github.com/amphp/dns.git", + "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da", - "reference": "4be43904336affa5c2f70744a348312336afd0da", + "url": "https://api.github.com/repos/amphp/dns/zipball/78eb3db5fc69bf2fc0cb503c4fcba667bc223c71", + "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0 || ^2.0", - "php": ">=5.4", - "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0" - }, - "require-dev": { - "composer/composer": "*", + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/cache": "^2", + "amphp/parser": "^1", + "amphp/process": "^2", + "daverandom/libdns": "^2.0.2", + "ext-filter": "*", "ext-json": "*", - "ext-zip": "*", - "php-parallel-lint/php-parallel-lint": "^1.3.1", - "phpcompatibility/php-compatibility": "^9.0", - "yoast/phpunit-polyfills": "^1.0" + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" }, - "type": "composer-plugin", - "extra": { - "class": "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.20" }, + "type": "library", "autoload": { + "files": [ + "src/functions.php" + ], "psr-4": { - "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + "Amp\\Dns\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2971,108 +2909,822 @@ ], "authors": [ { - "name": "Franck Nijhof", - "email": "franck.nijhof@dealerdirect.com", - "homepage": "http://www.frenck.nl", - "role": "Developer / IT Manager" + "name": "Chris Wright", + "email": "addr@daverandom.com" }, { - "name": "Contributors", - "homepage": "https://github.com/PHPCSStandards/composer-installer/graphs/contributors" + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" } ], - "description": "PHP_CodeSniffer Standards Composer Installer Plugin", - "homepage": "http://www.dealerdirect.com", + "description": "Async DNS resolution for Amp.", + "homepage": "https://github.com/amphp/dns", "keywords": [ - "PHPCodeSniffer", - "PHP_CodeSniffer", - "code quality", - "codesniffer", - "composer", - "installer", - "phpcbf", - "phpcs", - "plugin", - "qa", - "quality", - "standard", - "standards", - "style guide", - "stylecheck", - "tests" + "amp", + "amphp", + "async", + "client", + "dns", + "resolve" ], "support": { - "issues": "https://github.com/PHPCSStandards/composer-installer/issues", - "source": "https://github.com/PHPCSStandards/composer-installer" + "issues": "https://github.com/amphp/dns/issues", + "source": "https://github.com/amphp/dns/tree/v2.4.0" }, - "time": "2023-01-05T11:28:13+00:00" + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2025-01-19T15:43:40+00:00" }, { - "name": "dnoegel/php-xdg-base-dir", - "version": "v0.1.1", + "name": "amphp/parallel", + "version": "v2.3.1", "source": { "type": "git", - "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" + "url": "https://github.com/amphp/parallel.git", + "reference": "5113111de02796a782f5d90767455e7391cca190" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "url": "https://api.github.com/repos/amphp/parallel/zipball/5113111de02796a782f5d90767455e7391cca190", + "reference": "5113111de02796a782f5d90767455e7391cca190", "shasum": "" }, "require": { - "php": ">=5.3.2" + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/cache": "^2", + "amphp/parser": "^1", + "amphp/pipeline": "^1", + "amphp/process": "^2", + "amphp/serialization": "^1", + "amphp/socket": "^2", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1" }, "require-dev": { - "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.18" }, "type": "library", "autoload": { + "files": [ + "src/Context/functions.php", + "src/Context/Internal/functions.php", + "src/Ipc/functions.php", + "src/Worker/functions.php" + ], "psr-4": { - "XdgBaseDir\\": "src/" + "Amp\\Parallel\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "implementation of xdg base directory specification for php", + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Stephen Coakley", + "email": "me@stephencoakley.com" + } + ], + "description": "Parallel processing component for Amp.", + "homepage": "https://github.com/amphp/parallel", + "keywords": [ + "async", + "asynchronous", + "concurrent", + "multi-processing", + "multi-threading" + ], "support": { - "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", - "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" + "issues": "https://github.com/amphp/parallel/issues", + "source": "https://github.com/amphp/parallel/tree/v2.3.1" }, - "time": "2019-12-04T15:06:13+00:00" + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-12-21T01:56:09+00:00" }, { - "name": "doctrine/coding-standard", - "version": "12.0.0", + "name": "amphp/parser", + "version": "v1.1.1", "source": { "type": "git", - "url": "https://github.com/doctrine/coding-standard.git", - "reference": "1b2b7dc58c68833af481fb9325c25abd40681c79" + "url": "https://github.com/amphp/parser.git", + "reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/coding-standard/zipball/1b2b7dc58c68833af481fb9325c25abd40681c79", - "reference": "1b2b7dc58c68833af481fb9325c25abd40681c79", + "url": "https://api.github.com/repos/amphp/parser/zipball/3cf1f8b32a0171d4b1bed93d25617637a77cded7", + "reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7", "shasum": "" }, "require": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.0.0", - "php": "^7.2 || ^8.0", - "slevomat/coding-standard": "^8.11", - "squizlabs/php_codesniffer": "^3.7" + "php": ">=7.4" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Amp\\Parser\\": "src" + } }, - "type": "phpcodesniffer-standard", "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A generator parser to make streaming parsers simple.", + "homepage": "https://github.com/amphp/parser", + "keywords": [ + "async", + "non-blocking", + "parser", + "stream" + ], + "support": { + "issues": "https://github.com/amphp/parser/issues", + "source": "https://github.com/amphp/parser/tree/v1.1.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-03-21T19:16:53+00:00" + }, + { + "name": "amphp/pipeline", + "version": "v1.2.2", + "source": { + "type": "git", + "url": "https://github.com/amphp/pipeline.git", + "reference": "97cbf289f4d8877acfe58dd90ed5a4370a43caa4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/pipeline/zipball/97cbf289f4d8877acfe58dd90ed5a4370a43caa4", + "reference": "97cbf289f4d8877acfe58dd90ed5a4370a43caa4", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "php": ">=8.1", + "revolt/event-loop": "^1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.18" + }, + "type": "library", + "autoload": { + "psr-4": { + "Amp\\Pipeline\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Asynchronous iterators and operators.", + "homepage": "https://amphp.org/pipeline", + "keywords": [ + "amp", + "amphp", + "async", + "io", + "iterator", + "non-blocking" + ], + "support": { + "issues": "https://github.com/amphp/pipeline/issues", + "source": "https://github.com/amphp/pipeline/tree/v1.2.2" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2025-01-19T15:42:46+00:00" + }, + { + "name": "amphp/process", + "version": "v2.0.3", + "source": { + "type": "git", + "url": "https://github.com/amphp/process.git", + "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/process/zipball/52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d", + "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.4" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Process\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A fiber-aware process manager based on Amp and Revolt.", + "homepage": "https://amphp.org/process", + "support": { + "issues": "https://github.com/amphp/process/issues", + "source": "https://github.com/amphp/process/tree/v2.0.3" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-04-19T03:13:44+00:00" + }, + { + "name": "amphp/serialization", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/serialization.git", + "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1", + "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "dev-master", + "phpunit/phpunit": "^9 || ^8 || ^7" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Serialization\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Serialization tools for IPC and data storage in PHP.", + "homepage": "https://github.com/amphp/serialization", + "keywords": [ + "async", + "asynchronous", + "serialization", + "serialize" + ], + "support": { + "issues": "https://github.com/amphp/serialization/issues", + "source": "https://github.com/amphp/serialization/tree/master" + }, + "time": "2020-03-25T21:39:07+00:00" + }, + { + "name": "amphp/socket", + "version": "v2.3.1", + "source": { + "type": "git", + "url": "https://github.com/amphp/socket.git", + "reference": "58e0422221825b79681b72c50c47a930be7bf1e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/socket/zipball/58e0422221825b79681b72c50c47a930be7bf1e1", + "reference": "58e0422221825b79681b72c50c47a930be7bf1e1", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/dns": "^2", + "ext-openssl": "*", + "kelunik/certificate": "^1.1", + "league/uri": "^6.5 | ^7", + "league/uri-interfaces": "^2.3 | ^7", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "amphp/process": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "5.20" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php", + "src/Internal/functions.php", + "src/SocketAddress/functions.php" + ], + "psr-4": { + "Amp\\Socket\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Lowrey", + "email": "rdlowrey@gmail.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Non-blocking socket connection / server implementations based on Amp and Revolt.", + "homepage": "https://github.com/amphp/socket", + "keywords": [ + "amp", + "async", + "encryption", + "non-blocking", + "sockets", + "tcp", + "tls" + ], + "support": { + "issues": "https://github.com/amphp/socket/issues", + "source": "https://github.com/amphp/socket/tree/v2.3.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-04-21T14:33:03+00:00" + }, + { + "name": "amphp/sync", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/sync.git", + "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/sync/zipball/217097b785130d77cfcc58ff583cf26cd1770bf1", + "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/pipeline": "^1", + "amphp/serialization": "^1", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.23" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Sync\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Stephen Coakley", + "email": "me@stephencoakley.com" + } + ], + "description": "Non-blocking synchronization primitives for PHP based on Amp and Revolt.", + "homepage": "https://github.com/amphp/sync", + "keywords": [ + "async", + "asynchronous", + "mutex", + "semaphore", + "synchronization" + ], + "support": { + "issues": "https://github.com/amphp/sync/issues", + "source": "https://github.com/amphp/sync/tree/v2.3.0" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-08-03T19:31:26+00:00" + }, + { + "name": "colinodell/json5", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/colinodell/json5.git", + "reference": "5724d21bc5c910c2560af1b8915f0cc0163579c8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/colinodell/json5/zipball/5724d21bc5c910c2560af1b8915f0cc0163579c8", + "reference": "5724d21bc5c910c2560af1b8915f0cc0163579c8", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": "^8.0" + }, + "require-dev": { + "mikehaertl/php-shellcommand": "^1.7.0", + "phpstan/phpstan": "^1.10.57", + "scrutinizer/ocular": "^1.9", + "squizlabs/php_codesniffer": "^3.8.1", + "symfony/finder": "^6.0|^7.0", + "symfony/phpunit-bridge": "^7.0.3" + }, + "bin": [ + "bin/json5" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "files": [ + "src/global.php" + ], + "psr-4": { + "ColinODell\\Json5\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Developer" + } + ], + "description": "UTF-8 compatible JSON5 parser for PHP", + "homepage": "https://github.com/colinodell/json5", + "keywords": [ + "JSON5", + "json", + "json5_decode", + "json_decode" + ], + "support": { + "issues": "https://github.com/colinodell/json5/issues", + "source": "https://github.com/colinodell/json5/tree/v3.0.0" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://www.patreon.com/colinodell", + "type": "patreon" + } + ], + "time": "2024-02-09T13:06:12+00:00" + }, + { + "name": "daverandom/libdns", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/DaveRandom/LibDNS.git", + "reference": "b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/DaveRandom/LibDNS/zipball/b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a", + "reference": "b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "Required for IDN support" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "LibDNS\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "DNS protocol implementation written in pure PHP", + "keywords": [ + "dns" + ], + "support": { + "issues": "https://github.com/DaveRandom/LibDNS/issues", + "source": "https://github.com/DaveRandom/LibDNS/tree/v2.1.0" + }, + "time": "2024-04-12T12:12:48+00:00" + }, + { + "name": "dealerdirect/phpcodesniffer-composer-installer", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/PHPCSStandards/composer-installer.git", + "reference": "4be43904336affa5c2f70744a348312336afd0da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da", + "reference": "4be43904336affa5c2f70744a348312336afd0da", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0", + "php": ">=5.4", + "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0" + }, + "require-dev": { + "composer/composer": "*", + "ext-json": "*", + "ext-zip": "*", + "php-parallel-lint/php-parallel-lint": "^1.3.1", + "phpcompatibility/php-compatibility": "^9.0", + "yoast/phpunit-polyfills": "^1.0" + }, + "type": "composer-plugin", + "extra": { + "class": "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" + }, + "autoload": { + "psr-4": { + "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Franck Nijhof", + "email": "franck.nijhof@dealerdirect.com", + "homepage": "http://www.frenck.nl", + "role": "Developer / IT Manager" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/composer-installer/graphs/contributors" + } + ], + "description": "PHP_CodeSniffer Standards Composer Installer Plugin", + "homepage": "http://www.dealerdirect.com", + "keywords": [ + "PHPCodeSniffer", + "PHP_CodeSniffer", + "code quality", + "codesniffer", + "composer", + "installer", + "phpcbf", + "phpcs", + "plugin", + "qa", + "quality", + "standard", + "standards", + "style guide", + "stylecheck", + "tests" + ], + "support": { + "issues": "https://github.com/PHPCSStandards/composer-installer/issues", + "source": "https://github.com/PHPCSStandards/composer-installer" + }, + "time": "2023-01-05T11:28:13+00:00" + }, + { + "name": "dnoegel/php-xdg-base-dir", + "version": "v0.1.1", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "support": { + "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", + "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" + }, + "time": "2019-12-04T15:06:13+00:00" + }, + { + "name": "doctrine/coding-standard", + "version": "12.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/coding-standard.git", + "reference": "1b2b7dc58c68833af481fb9325c25abd40681c79" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/coding-standard/zipball/1b2b7dc58c68833af481fb9325c25abd40681c79", + "reference": "1b2b7dc58c68833af481fb9325c25abd40681c79", + "shasum": "" + }, + "require": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.0.0", + "php": "^7.2 || ^8.0", + "slevomat/coding-standard": "^8.11", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "phpcodesniffer-standard", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" }, { "name": "Steve Müller", @@ -3527,154 +4179,435 @@ "email": "maks.rafalko@gmail.com" } ], - "description": "Stream Wrapper: Include Interceptor. Allows to replace included (autoloaded) file with another one.", + "description": "Stream Wrapper: Include Interceptor. Allows to replace included (autoloaded) file with another one.", + "support": { + "issues": "https://github.com/infection/include-interceptor/issues", + "source": "https://github.com/infection/include-interceptor/tree/0.2.5" + }, + "funding": [ + { + "url": "https://github.com/infection", + "type": "github" + }, + { + "url": "https://opencollective.com/infection", + "type": "open_collective" + } + ], + "time": "2021-08-09T10:03:57+00:00" + }, + { + "name": "infection/infection", + "version": "0.29.10", + "source": { + "type": "git", + "url": "https://github.com/infection/infection.git", + "reference": "cac7d20e5d286a37488527e477f5a695a9d7a44c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/infection/infection/zipball/cac7d20e5d286a37488527e477f5a695a9d7a44c", + "reference": "cac7d20e5d286a37488527e477f5a695a9d7a44c", + "shasum": "" + }, + "require": { + "colinodell/json5": "^2.2 || ^3.0", + "composer-runtime-api": "^2.0", + "composer/xdebug-handler": "^2.0 || ^3.0", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "fidry/cpu-core-counter": "^0.4.0 || ^0.5.0 || ^1.0", + "infection/abstract-testframework-adapter": "^0.5.0", + "infection/extension-installer": "^0.1.0", + "infection/include-interceptor": "^0.2.5", + "infection/mutator": "^0.4", + "justinrainbow/json-schema": "^5.3", + "nikic/php-parser": "^5.3", + "ondram/ci-detector": "^4.1.0", + "php": "^8.2", + "sanmai/later": "^0.1.1", + "sanmai/pipeline": "^5.1 || ^6", + "sebastian/diff": "^3.0.2 || ^4.0 || ^5.0 || ^6.0", + "shish/safe": "^2.6", + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", + "symfony/finder": "^5.4 || ^6.0 || ^7.0", + "symfony/process": "^5.4 || ^6.0 || ^7.0", + "webmozart/assert": "^1.11" + }, + "conflict": { + "antecedent/patchwork": "<2.1.25", + "dg/bypass-finals": "<1.4.1", + "phpunit/php-code-coverage": ">9,<9.1.4 || >9.2.17,<9.2.21" + }, + "require-dev": { + "ext-simplexml": "*", + "fidry/makefile": "^1.0", + "helmich/phpunit-json-assert": "^3.0", + "phpstan/extension-installer": "^1.1.0", + "phpstan/phpstan": "^1.10.15", + "phpstan/phpstan-phpunit": "^1.0.0", + "phpstan/phpstan-strict-rules": "^1.1.0", + "phpstan/phpstan-webmozart-assert": "^1.0.2", + "phpunit/phpunit": "^10.5", + "rector/rector": "^1.0", + "sidz/phpstan-rules": "^0.4", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0" + }, + "bin": [ + "bin/infection" + ], + "type": "library", + "autoload": { + "psr-4": { + "Infection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Maks Rafalko", + "email": "maks.rafalko@gmail.com", + "homepage": "https://twitter.com/maks_rafalko" + }, + { + "name": "Oleg Zhulnev", + "homepage": "https://github.com/sidz" + }, + { + "name": "Gert de Pagter", + "homepage": "https://github.com/BackEndTea" + }, + { + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com", + "homepage": "https://twitter.com/tfidry" + }, + { + "name": "Alexey Kopytko", + "email": "alexey@kopytko.com", + "homepage": "https://www.alexeykopytko.com" + }, + { + "name": "Andreas Möller", + "email": "am@localheinz.com", + "homepage": "https://localheinz.com" + } + ], + "description": "Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.", + "keywords": [ + "coverage", + "mutant", + "mutation framework", + "mutation testing", + "testing", + "unit testing" + ], + "support": { + "issues": "https://github.com/infection/infection/issues", + "source": "https://github.com/infection/infection/tree/0.29.10" + }, + "funding": [ + { + "url": "https://github.com/infection", + "type": "github" + }, + { + "url": "https://opencollective.com/infection", + "type": "open_collective" + } + ], + "time": "2024-12-17T19:11:10+00:00" + }, + { + "name": "infection/mutator", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/infection/mutator.git", + "reference": "51d6d01a2357102030aee9d603063c4bad86b144" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/infection/mutator/zipball/51d6d01a2357102030aee9d603063c4bad86b144", + "reference": "51d6d01a2357102030aee9d603063c4bad86b144", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^10" + }, + "type": "library", + "autoload": { + "psr-4": { + "Infection\\Mutator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Maks Rafalko", + "email": "maks.rafalko@gmail.com" + } + ], + "description": "Mutator interface to implement custom mutators (mutation operators) for Infection", + "support": { + "issues": "https://github.com/infection/mutator/issues", + "source": "https://github.com/infection/mutator/tree/0.4.0" + }, + "funding": [ + { + "url": "https://github.com/infection", + "type": "github" + }, + { + "url": "https://opencollective.com/infection", + "type": "open_collective" + } + ], + "time": "2024-05-14T22:39:59+00:00" + }, + { + "name": "kelunik/certificate", + "version": "v1.1.3", + "source": { + "type": "git", + "url": "https://github.com/kelunik/certificate.git", + "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kelunik/certificate/zipball/7e00d498c264d5eb4f78c69f41c8bd6719c0199e", + "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "php": ">=7.0" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^6 | 7 | ^8 | ^9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Kelunik\\Certificate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Access certificate details and transform between different formats.", + "keywords": [ + "DER", + "certificate", + "certificates", + "openssl", + "pem", + "x509" + ], + "support": { + "issues": "https://github.com/kelunik/certificate/issues", + "source": "https://github.com/kelunik/certificate/tree/v1.1.3" + }, + "time": "2023-02-03T21:26:53+00:00" + }, + { + "name": "league/uri", + "version": "7.5.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri.git", + "reference": "81fb5145d2644324614cc532b28efd0215bda430" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430", + "reference": "81fb5145d2644324614cc532b28efd0215bda430", + "shasum": "" + }, + "require": { + "league/uri-interfaces": "^7.5", + "php": "^8.1" + }, + "conflict": { + "league/uri-schemes": "^1.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", + "league/uri-components": "Needed to easily manipulate URI objects components", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "uri-template", + "url", + "ws" + ], "support": { - "issues": "https://github.com/infection/include-interceptor/issues", - "source": "https://github.com/infection/include-interceptor/tree/0.2.5" + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.5.1" }, "funding": [ { - "url": "https://github.com/infection", + "url": "https://github.com/sponsors/nyamsprod", "type": "github" - }, - { - "url": "https://opencollective.com/infection", - "type": "open_collective" } ], - "time": "2021-08-09T10:03:57+00:00" + "time": "2024-12-08T08:40:02+00:00" }, { - "name": "infection/infection", - "version": "0.27.10", + "name": "league/uri-interfaces", + "version": "7.5.0", "source": { "type": "git", - "url": "https://github.com/infection/infection.git", - "reference": "873cd3335774a114bef9ca93388e623bf362d820" + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/infection/infection/zipball/873cd3335774a114bef9ca93388e623bf362d820", - "reference": "873cd3335774a114bef9ca93388e623bf362d820", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", "shasum": "" }, "require": { - "colinodell/json5": "^2.2", - "composer-runtime-api": "^2.0", - "composer/xdebug-handler": "^2.0 || ^3.0", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "fidry/cpu-core-counter": "^0.4.0 || ^0.5.0 || ^1.0", - "infection/abstract-testframework-adapter": "^0.5.0", - "infection/extension-installer": "^0.1.0", - "infection/include-interceptor": "^0.2.5", - "justinrainbow/json-schema": "^5.2.10", - "nikic/php-parser": "^4.15.1", - "ondram/ci-detector": "^4.1.0", + "ext-filter": "*", "php": "^8.1", - "sanmai/later": "^0.1.1", - "sanmai/pipeline": "^5.1 || ^6", - "sebastian/diff": "^3.0.2 || ^4.0 || ^5.0 || ^6.0", - "symfony/console": "^5.4 || ^6.0 || ^7.0", - "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", - "symfony/finder": "^5.4 || ^6.0 || ^7.0", - "symfony/process": "^5.4 || ^6.0 || ^7.0", - "thecodingmachine/safe": "^2.1.2", - "webmozart/assert": "^1.11" - }, - "conflict": { - "antecedent/patchwork": "<2.1.25", - "dg/bypass-finals": "<1.4.1", - "phpunit/php-code-coverage": ">9,<9.1.4 || >9.2.17,<9.2.21" + "psr/http-factory": "^1", + "psr/http-message": "^1.1 || ^2.0" }, - "require-dev": { - "brianium/paratest": "^6.11", - "ext-simplexml": "*", - "fidry/makefile": "^0.2.0", - "helmich/phpunit-json-assert": "^3.0", - "phpspec/prophecy": "^1.15", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1.1.0", - "phpstan/phpstan": "^1.10.15", - "phpstan/phpstan-phpunit": "^1.0.0", - "phpstan/phpstan-strict-rules": "^1.1.0", - "phpstan/phpstan-webmozart-assert": "^1.0.2", - "phpunit/phpunit": "^9.6", - "rector/rector": "^0.16.0", - "sidz/phpstan-rules": "^0.4.0", - "symfony/phpunit-bridge": "^5.4 || ^6.0 || ^7.0", - "symfony/yaml": "^5.4 || ^6.0 || ^7.0", - "thecodingmachine/phpstan-safe-rule": "^1.2.0" + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, - "bin": [ - "bin/infection" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, "autoload": { "psr-4": { - "Infection\\": "src/" + "League\\Uri\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Maks Rafalko", - "email": "maks.rafalko@gmail.com", - "homepage": "https://twitter.com/maks_rafalko" - }, - { - "name": "Oleg Zhulnev", - "homepage": "https://github.com/sidz" - }, - { - "name": "Gert de Pagter", - "homepage": "https://github.com/BackEndTea" - }, - { - "name": "Théo FIDRY", - "email": "theo.fidry@gmail.com", - "homepage": "https://twitter.com/tfidry" - }, - { - "name": "Alexey Kopytko", - "email": "alexey@kopytko.com", - "homepage": "https://www.alexeykopytko.com" - }, - { - "name": "Andreas Möller", - "email": "am@localheinz.com", - "homepage": "https://localheinz.com" + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" } ], - "description": "Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.", + "description": "Common interfaces and classes for URI representation and interaction", + "homepage": "https://uri.thephpleague.com", "keywords": [ - "coverage", - "mutant", - "mutation framework", - "mutation testing", - "testing", - "unit testing" + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "url", + "ws" ], "support": { - "issues": "https://github.com/infection/infection/issues", - "source": "https://github.com/infection/infection/tree/0.27.10" + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0" }, "funding": [ { - "url": "https://github.com/infection", + "url": "https://github.com/sponsors/nyamsprod", "type": "github" - }, - { - "url": "https://opencollective.com/infection", - "type": "open_collective" } ], - "time": "2024-02-20T00:08:52+00:00" + "time": "2024-12-08T08:18:47+00:00" }, { "name": "mtdowling/jmespath.php", @@ -4327,35 +5260,35 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.16", + "version": "11.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77" + "reference": "418c59fd080954f8c4aa5631d9502ecda2387118" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/418c59fd080954f8c4aa5631d9502ecda2387118", + "reference": "418c59fd080954f8c4aa5631d9502ecda2387118", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.19.1 || ^5.1.0", - "php": ">=8.1", - "phpunit/php-file-iterator": "^4.1.0", - "phpunit/php-text-template": "^3.0.1", - "sebastian/code-unit-reverse-lookup": "^3.0.0", - "sebastian/complexity": "^3.2.0", - "sebastian/environment": "^6.1.0", - "sebastian/lines-of-code": "^2.0.2", - "sebastian/version": "^4.0.1", + "nikic/php-parser": "^5.3.1", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-text-template": "^4.0.1", + "sebastian/code-unit-reverse-lookup": "^4.0.1", + "sebastian/complexity": "^4.0.1", + "sebastian/environment": "^7.2.0", + "sebastian/lines-of-code": "^3.0.1", + "sebastian/version": "^5.0.2", "theseer/tokenizer": "^1.2.3" }, "require-dev": { - "phpunit/phpunit": "^10.1" + "phpunit/phpunit": "^11.5.0" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -4364,7 +5297,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1.x-dev" + "dev-main": "11.0.x-dev" } }, "autoload": { @@ -4393,7 +5326,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.8" }, "funding": [ { @@ -4401,32 +5334,32 @@ "type": "github" } ], - "time": "2024-08-22T04:31:57+00:00" + "time": "2024-12-11T12:34:27+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "4.1.0", + "version": "5.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6", + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -4454,7 +5387,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0" }, "funding": [ { @@ -4462,28 +5395,28 @@ "type": "github" } ], - "time": "2023-08-31T06:24:48+00:00" + "time": "2024-08-27T05:02:59+00:00" }, { "name": "phpunit/php-invoker", - "version": "4.0.0", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcntl": "*" @@ -4491,7 +5424,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -4517,7 +5450,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" }, "funding": [ { @@ -4525,32 +5459,32 @@ "type": "github" } ], - "time": "2023-02-03T06:56:09+00:00" + "time": "2024-07-03T05:07:44+00:00" }, { "name": "phpunit/php-text-template", - "version": "3.0.1", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -4577,7 +5511,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" }, "funding": [ { @@ -4585,32 +5519,32 @@ "type": "github" } ], - "time": "2023-08-31T14:07:24+00:00" + "time": "2024-07-03T05:08:43+00:00" }, { "name": "phpunit/php-timer", - "version": "6.0.0", + "version": "7.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -4636,7 +5570,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" }, "funding": [ { @@ -4644,20 +5579,20 @@ "type": "github" } ], - "time": "2023-02-03T06:57:52+00:00" + "time": "2024-07-03T05:09:35+00:00" }, { "name": "phpunit/phpunit", - "version": "10.5.44", + "version": "11.5.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "1381c62769be4bb88fa4c5aec1366c7c66ca4f36" + "reference": "3c3ae14c90f244cdda95028c3e469028e8d1c02c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1381c62769be4bb88fa4c5aec1366c7c66ca4f36", - "reference": "1381c62769be4bb88fa4c5aec1366c7c66ca4f36", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3c3ae14c90f244cdda95028c3e469028e8d1c02c", + "reference": "3c3ae14c90f244cdda95028c3e469028e8d1c02c", "shasum": "" }, "require": { @@ -4670,23 +5605,23 @@ "myclabs/deep-copy": "^1.12.1", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", - "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.16", - "phpunit/php-file-iterator": "^4.1.0", - "phpunit/php-invoker": "^4.0.0", - "phpunit/php-text-template": "^3.0.1", - "phpunit/php-timer": "^6.0.0", - "sebastian/cli-parser": "^2.0.1", - "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.3", - "sebastian/diff": "^5.1.1", - "sebastian/environment": "^6.1.0", - "sebastian/exporter": "^5.1.2", - "sebastian/global-state": "^6.0.2", - "sebastian/object-enumerator": "^5.0.0", - "sebastian/recursion-context": "^5.0.0", - "sebastian/type": "^4.0.0", - "sebastian/version": "^4.0.1" + "php": ">=8.2", + "phpunit/php-code-coverage": "^11.0.8", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-invoker": "^5.0.1", + "phpunit/php-text-template": "^4.0.1", + "phpunit/php-timer": "^7.0.1", + "sebastian/cli-parser": "^3.0.2", + "sebastian/code-unit": "^3.0.2", + "sebastian/comparator": "^6.3.0", + "sebastian/diff": "^6.0.2", + "sebastian/environment": "^7.2.0", + "sebastian/exporter": "^6.3.0", + "sebastian/global-state": "^7.0.2", + "sebastian/object-enumerator": "^6.0.1", + "sebastian/type": "^5.1.0", + "sebastian/version": "^5.0.2", + "staabm/side-effects-detector": "^1.0.5" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" @@ -4697,7 +5632,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.5-dev" + "dev-main": "11.5-dev" } }, "autoload": { @@ -4729,7 +5664,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.44" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.6" }, "funding": [ { @@ -4745,28 +5680,28 @@ "type": "tidelift" } ], - "time": "2025-01-31T07:00:38+00:00" + "time": "2025-01-31T07:03:30+00:00" }, { "name": "psalm/plugin-phpunit", - "version": "0.19.1", + "version": "0.19.2", "source": { "type": "git", "url": "https://github.com/psalm/psalm-plugin-phpunit.git", - "reference": "bc31ef11ce007a181a09dde201f73ac8d0b3b107" + "reference": "7b7a5cde988f83ccdbdf3ebaecd88192e01c5eb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/bc31ef11ce007a181a09dde201f73ac8d0b3b107", - "reference": "bc31ef11ce007a181a09dde201f73ac8d0b3b107", + "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/7b7a5cde988f83ccdbdf3ebaecd88192e01c5eb1", + "reference": "7b7a5cde988f83ccdbdf3ebaecd88192e01c5eb1", "shasum": "" }, "require": { "composer/package-versions-deprecated": "^1.10", "composer/semver": "^1.4 || ^2.0 || ^3.0", "ext-simplexml": "*", - "php": ">=7.4", - "vimeo/psalm": "dev-master || ^5@beta || ^5.0 || ^6.0" + "php": ">=8.1", + "vimeo/psalm": "dev-master || ^6" }, "conflict": { "phpunit/phpunit": "<7.5" @@ -4803,34 +5738,144 @@ "description": "Psalm plugin for PHPUnit", "support": { "issues": "https://github.com/psalm/psalm-plugin-phpunit/issues", - "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.19.1" + "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.19.2" + }, + "time": "2025-01-26T11:39:17+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "time": "2025-01-26T09:41:04+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { "name": "roave/infection-static-analysis-plugin", - "version": "1.35.0", + "version": "1.36.0", "source": { "type": "git", "url": "https://github.com/Roave/infection-static-analysis-plugin.git", - "reference": "3cb32845c5f758913a4b9eafd91ae18eafc26d82" + "reference": "5c05ce3c6f1e2aef6e975a179d229d654bf595ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/infection-static-analysis-plugin/zipball/3cb32845c5f758913a4b9eafd91ae18eafc26d82", - "reference": "3cb32845c5f758913a4b9eafd91ae18eafc26d82", + "url": "https://api.github.com/repos/Roave/infection-static-analysis-plugin/zipball/5c05ce3c6f1e2aef6e975a179d229d654bf595ce", + "reference": "5c05ce3c6f1e2aef6e975a179d229d654bf595ce", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", - "infection/infection": "0.27.10", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0", + "infection/infection": "0.29.10", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0", "sanmai/later": "^0.1.4", - "vimeo/psalm": "^4.30.0 || ^5.15" + "vimeo/psalm": "^6.0" }, "require-dev": { + "azjezz/psl": "^3.2", "doctrine/coding-standard": "^12.0.0", - "phpunit/phpunit": "^10.5.12" + "phpunit/phpunit": "^11.5.3", + "psalm/plugin-phpunit": "^0.19.2" }, "bin": [ "bin/roave-infection-static-analysis-plugin" @@ -4854,9 +5899,9 @@ "description": "Static analysis on top of mutation testing - prevents escaped mutants from being invalid according to static analysis", "support": { "issues": "https://github.com/Roave/infection-static-analysis-plugin/issues", - "source": "https://github.com/Roave/infection-static-analysis-plugin/tree/1.35.0" + "source": "https://github.com/Roave/infection-static-analysis-plugin/tree/1.36.0" }, - "time": "2024-03-10T11:55:48+00:00" + "time": "2025-01-27T02:18:13+00:00" }, { "name": "roave/security-advisories", @@ -5860,28 +6905,28 @@ }, { "name": "sebastian/cli-parser", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -5905,7 +6950,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" }, "funding": [ { @@ -5913,32 +6958,32 @@ "type": "github" } ], - "time": "2024-03-02T07:12:49+00:00" + "time": "2024-07-03T04:41:36+00:00" }, { "name": "sebastian/code-unit", - "version": "2.0.0", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca", + "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -5961,7 +7006,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.2" }, "funding": [ { @@ -5969,32 +7015,32 @@ "type": "github" } ], - "time": "2023-02-03T06:58:43+00:00" + "time": "2024-12-12T09:59:06+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "3.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + "reference": "183a9b2632194febd219bb9246eee421dad8d45e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -6016,7 +7062,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" }, "funding": [ { @@ -6024,36 +7071,39 @@ "type": "github" } ], - "time": "2023-02-03T06:59:15+00:00" + "time": "2024-07-03T04:45:54+00:00" }, { "name": "sebastian/comparator", - "version": "5.0.3", + "version": "6.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e" + "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", - "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/d4e47a769525c4dd38cea90e5dcd435ddbbc7115", + "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0" + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.5" + "phpunit/phpunit": "^11.4" + }, + "suggest": { + "ext-bcmath": "For comparing BcMath\\Number objects" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.2-dev" } }, "autoload": { @@ -6093,7 +7143,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.3" + "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.0" }, "funding": [ { @@ -6101,33 +7151,33 @@ "type": "github" } ], - "time": "2024-10-18T14:56:07+00:00" + "time": "2025-01-06T10:28:19+00:00" }, { "name": "sebastian/complexity", - "version": "3.2.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68ff824baeae169ec9f2137158ee529584553799" + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", - "reference": "68ff824baeae169ec9f2137158ee529584553799", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -6151,7 +7201,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" }, "funding": [ { @@ -6159,33 +7209,33 @@ "type": "github" } ], - "time": "2023-12-21T08:37:17+00:00" + "time": "2024-07-03T04:49:50+00:00" }, { "name": "sebastian/diff", - "version": "5.1.1", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0", - "symfony/process": "^6.4" + "phpunit/phpunit": "^11.0", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -6218,7 +7268,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" }, "funding": [ { @@ -6226,27 +7276,27 @@ "type": "github" } ], - "time": "2024-03-02T07:15:17+00:00" + "time": "2024-07-03T04:53:05+00:00" }, { "name": "sebastian/environment", - "version": "6.1.0", + "version": "7.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" + "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5", + "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-posix": "*" @@ -6254,7 +7304,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.1-dev" + "dev-main": "7.2-dev" } }, "autoload": { @@ -6282,7 +7332,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" + "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0" }, "funding": [ { @@ -6290,34 +7340,34 @@ "type": "github" } ], - "time": "2024-03-23T08:47:14+00:00" + "time": "2024-07-03T04:54:44+00:00" }, { "name": "sebastian/exporter", - "version": "5.1.2", + "version": "6.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "955288482d97c19a372d3f31006ab3f37da47adf" + "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf", - "reference": "955288482d97c19a372d3f31006ab3f37da47adf", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3", + "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.1-dev" } }, "autoload": { @@ -6360,7 +7410,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2" + "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0" }, "funding": [ { @@ -6368,35 +7418,35 @@ "type": "github" } ], - "time": "2024-03-02T07:17:12+00:00" + "time": "2024-12-05T09:17:50+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.2", + "version": "7.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" + "reference": "3be331570a721f9a4b5917f4209773de17f747d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -6422,7 +7472,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" }, "funding": [ { @@ -6430,33 +7480,33 @@ "type": "github" } ], - "time": "2024-03-02T07:19:19+00:00" + "time": "2024-07-03T04:57:36+00:00" }, { "name": "sebastian/lines-of-code", - "version": "2.0.2", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -6480,7 +7530,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" }, "funding": [ { @@ -6488,34 +7538,34 @@ "type": "github" } ], - "time": "2023-12-21T08:38:20+00:00" + "time": "2024-07-03T04:58:38+00:00" }, { "name": "sebastian/object-enumerator", - "version": "5.0.0", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + "reference": "f5b498e631a74204185071eb41f33f38d64608aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -6537,7 +7587,8 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" }, "funding": [ { @@ -6545,32 +7596,32 @@ "type": "github" } ], - "time": "2023-02-03T07:08:32+00:00" + "time": "2024-07-03T05:00:13+00:00" }, { "name": "sebastian/object-reflector", - "version": "3.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -6592,7 +7643,8 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" }, "funding": [ { @@ -6600,32 +7652,32 @@ "type": "github" } ], - "time": "2023-02-03T07:06:18+00:00" + "time": "2024-07-03T05:01:32+00:00" }, { "name": "sebastian/recursion-context", - "version": "5.0.0", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + "reference": "694d156164372abbd149a4b85ccda2e4670c0e16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16", + "reference": "694d156164372abbd149a4b85ccda2e4670c0e16", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -6655,7 +7707,8 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2" }, "funding": [ { @@ -6663,32 +7716,32 @@ "type": "github" } ], - "time": "2023-02-03T07:05:40+00:00" + "time": "2024-07-03T05:10:34+00:00" }, { "name": "sebastian/type", - "version": "4.0.0", + "version": "5.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/461b9c5da241511a2a0e8f240814fb23ce5c0aac", + "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -6711,7 +7764,8 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.1.0" }, "funding": [ { @@ -6719,29 +7773,29 @@ "type": "github" } ], - "time": "2023-02-03T07:10:45+00:00" + "time": "2024-09-17T13:12:04+00:00" }, { "name": "sebastian/version", - "version": "4.0.1", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -6764,7 +7818,8 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" }, "funding": [ { @@ -6772,7 +7827,158 @@ "type": "github" } ], - "time": "2023-02-07T11:34:05+00:00" + "time": "2024-10-09T05:16:32+00:00" + }, + { + "name": "shish/safe", + "version": "v2.6.4", + "source": { + "type": "git", + "url": "https://github.com/shish/safe.git", + "reference": "482e6227330a70b21c1c9e9301cc99b5658ccb89" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/shish/safe/zipball/482e6227330a70b21c1c9e9301cc99b5658ccb89", + "reference": "482e6227330a70b21c1c9e9301cc99b5658ccb89", + "shasum": "" + }, + "require": { + "php": ">= 8.2" + }, + "replace": { + "thecodingmachine/safe": "2.5.0" + }, + "require-dev": { + "phpstan/phpstan": "^1", + "phpunit/phpunit": "^10.0 || ^11.0", + "squizlabs/php_codesniffer": "^3", + "thecodingmachine/phpstan-strict-rules": "^1.0" + }, + "type": "library", + "autoload": { + "files": [ + "deprecated/apc.php", + "deprecated/array.php", + "deprecated/datetime.php", + "deprecated/libevent.php", + "deprecated/misc.php", + "deprecated/password.php", + "deprecated/mssql.php", + "deprecated/stats.php", + "deprecated/strings.php", + "lib/special_cases.php", + "deprecated/mysqli.php", + "generated/apache.php", + "generated/apcu.php", + "generated/array.php", + "generated/bzip2.php", + "generated/calendar.php", + "generated/classobj.php", + "generated/com.php", + "generated/cubrid.php", + "generated/curl.php", + "generated/datetime.php", + "generated/dir.php", + "generated/eio.php", + "generated/errorfunc.php", + "generated/exec.php", + "generated/fileinfo.php", + "generated/filesystem.php", + "generated/filter.php", + "generated/fpm.php", + "generated/ftp.php", + "generated/funchand.php", + "generated/gettext.php", + "generated/gnupg.php", + "generated/hash.php", + "generated/ibase.php", + "generated/ibmDb2.php", + "generated/iconv.php", + "generated/image.php", + "generated/imap.php", + "generated/info.php", + "generated/inotify.php", + "generated/json.php", + "generated/ldap.php", + "generated/libxml.php", + "generated/lzf.php", + "generated/mailparse.php", + "generated/mbstring.php", + "generated/misc.php", + "generated/mysql.php", + "generated/network.php", + "generated/oci8.php", + "generated/opcache.php", + "generated/openssl.php", + "generated/outcontrol.php", + "generated/pcntl.php", + "generated/pcre.php", + "generated/pgsql.php", + "generated/posix.php", + "generated/ps.php", + "generated/pspell.php", + "generated/readline.php", + "generated/rnp.php", + "generated/rpminfo.php", + "generated/rrd.php", + "generated/sem.php", + "generated/session.php", + "generated/shmop.php", + "generated/sockets.php", + "generated/sodium.php", + "generated/solr.php", + "generated/spl.php", + "generated/sqlsrv.php", + "generated/ssdeep.php", + "generated/ssh2.php", + "generated/stream.php", + "generated/strings.php", + "generated/swoole.php", + "generated/uodbc.php", + "generated/uopz.php", + "generated/url.php", + "generated/var.php", + "generated/xdiff.php", + "generated/xml.php", + "generated/xmlrpc.php", + "generated/yaml.php", + "generated/yaz.php", + "generated/zip.php", + "generated/zlib.php" + ], + "classmap": [ + "lib/DateTime.php", + "lib/DateTimeImmutable.php", + "lib/Exceptions/", + "deprecated/Exceptions/", + "generated/Exceptions/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHP core functions that throw exceptions instead of returning FALSE on error (a less-abandoned fork of thecodingmachine/safe)", + "support": { + "issues": "https://github.com/shish/safe/issues", + "source": "https://github.com/shish/safe/tree/v2.6.4" + }, + "funding": [ + { + "url": "https://github.com/OskarStark", + "type": "github" + }, + { + "url": "https://github.com/shish", + "type": "github" + }, + { + "url": "https://github.com/staabm", + "type": "github" + } + ], + "time": "2024-12-18T13:36:07+00:00" }, { "name": "slevomat/coding-standard", @@ -6992,143 +8198,56 @@ "time": "2025-01-23T17:04:15+00:00" }, { - "name": "thecodingmachine/safe", - "version": "v2.5.0", + "name": "staabm/side-effects-detector", + "version": "1.0.5", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/safe.git", - "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0" + "url": "https://github.com/staabm/side-effects-detector.git", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/3115ecd6b4391662b4931daac4eba6b07a2ac1f0", - "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0", + "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163", "shasum": "" }, "require": { - "php": "^8.0" + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^9.5", - "squizlabs/php_codesniffer": "^3.2", - "thecodingmachine/phpstan-strict-rules": "^1.0" + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.6", + "phpunit/phpunit": "^9.6.21", + "symfony/var-dumper": "^5.4.43", + "tomasvotruba/type-coverage": "1.0.0", + "tomasvotruba/unused-public": "1.0.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, "autoload": { - "files": [ - "deprecated/apc.php", - "deprecated/array.php", - "deprecated/datetime.php", - "deprecated/libevent.php", - "deprecated/misc.php", - "deprecated/password.php", - "deprecated/mssql.php", - "deprecated/stats.php", - "deprecated/strings.php", - "lib/special_cases.php", - "deprecated/mysqli.php", - "generated/apache.php", - "generated/apcu.php", - "generated/array.php", - "generated/bzip2.php", - "generated/calendar.php", - "generated/classobj.php", - "generated/com.php", - "generated/cubrid.php", - "generated/curl.php", - "generated/datetime.php", - "generated/dir.php", - "generated/eio.php", - "generated/errorfunc.php", - "generated/exec.php", - "generated/fileinfo.php", - "generated/filesystem.php", - "generated/filter.php", - "generated/fpm.php", - "generated/ftp.php", - "generated/funchand.php", - "generated/gettext.php", - "generated/gmp.php", - "generated/gnupg.php", - "generated/hash.php", - "generated/ibase.php", - "generated/ibmDb2.php", - "generated/iconv.php", - "generated/image.php", - "generated/imap.php", - "generated/info.php", - "generated/inotify.php", - "generated/json.php", - "generated/ldap.php", - "generated/libxml.php", - "generated/lzf.php", - "generated/mailparse.php", - "generated/mbstring.php", - "generated/misc.php", - "generated/mysql.php", - "generated/network.php", - "generated/oci8.php", - "generated/opcache.php", - "generated/openssl.php", - "generated/outcontrol.php", - "generated/pcntl.php", - "generated/pcre.php", - "generated/pgsql.php", - "generated/posix.php", - "generated/ps.php", - "generated/pspell.php", - "generated/readline.php", - "generated/rpminfo.php", - "generated/rrd.php", - "generated/sem.php", - "generated/session.php", - "generated/shmop.php", - "generated/sockets.php", - "generated/sodium.php", - "generated/solr.php", - "generated/spl.php", - "generated/sqlsrv.php", - "generated/ssdeep.php", - "generated/ssh2.php", - "generated/stream.php", - "generated/strings.php", - "generated/swoole.php", - "generated/uodbc.php", - "generated/uopz.php", - "generated/url.php", - "generated/var.php", - "generated/xdiff.php", - "generated/xml.php", - "generated/xmlrpc.php", - "generated/yaml.php", - "generated/yaz.php", - "generated/zip.php", - "generated/zlib.php" - ], "classmap": [ - "lib/DateTime.php", - "lib/DateTimeImmutable.php", - "lib/Exceptions/", - "deprecated/Exceptions/", - "generated/Exceptions/" + "lib/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "PHP core functions that throw exceptions instead of returning FALSE on error", + "description": "A static analysis tool to detect side effects in PHP code", + "keywords": [ + "static analysis" + ], "support": { - "issues": "https://github.com/thecodingmachine/safe/issues", - "source": "https://github.com/thecodingmachine/safe/tree/v2.5.0" + "issues": "https://github.com/staabm/side-effects-detector/issues", + "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" }, - "time": "2023-04-05T11:54:14+00:00" + "funding": [ + { + "url": "https://github.com/staabm", + "type": "github" + } + ], + "time": "2024-10-20T05:08:20+00:00" }, { "name": "theseer/tokenizer", @@ -7182,21 +8301,22 @@ }, { "name": "vimeo/psalm", - "version": "5.26.1", + "version": "6.4.0", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0" + "reference": "04f312ac6ea48ba1c3e5db4d815bf6d74641c0ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/d747f6500b38ac4f7dfc5edbcae6e4b637d7add0", - "reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/04f312ac6ea48ba1c3e5db4d815bf6d74641c0ee", + "reference": "04f312ac6ea48ba1c3e5db4d815bf6d74641c0ee", "shasum": "" }, "require": { - "amphp/amp": "^2.4.2", - "amphp/byte-stream": "^1.5", + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/parallel": "^2.3", "composer-runtime-api": "^2", "composer/semver": "^1.4 || ^2.0 || ^3.0", "composer/xdebug-handler": "^2.0 || ^3.0", @@ -7209,26 +8329,24 @@ "ext-simplexml": "*", "ext-tokenizer": "*", "felixfbecker/advanced-json-rpc": "^3.1", - "felixfbecker/language-server-protocol": "^1.5.2", + "felixfbecker/language-server-protocol": "^1.5.3", "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "nikic/php-parser": "^4.17", - "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", + "nikic/php-parser": "^5.0.0", + "php": "~8.1.17 || ~8.2.4 || ~8.3.0 || ~8.4.0", "sebastian/diff": "^4.0 || ^5.0 || ^6.0", "spatie/array-to-xml": "^2.17.0 || ^3.0", - "symfony/console": "^4.1.6 || ^5.0 || ^6.0 || ^7.0", - "symfony/filesystem": "^5.4 || ^6.0 || ^7.0" - }, - "conflict": { - "nikic/php-parser": "4.17.0" + "symfony/console": "^6.0 || ^7.0", + "symfony/filesystem": "^6.0 || ^7.0" }, "provide": { "psalm/psalm": "self.version" }, "require-dev": { - "amphp/phpunit-util": "^2.0", + "amphp/phpunit-util": "^3", "bamarni/composer-bin-plugin": "^1.4", "brianium/paratest": "^6.9", + "dg/bypass-finals": "^1.5", "ext-curl": "*", "mockery/mockery": "^1.5", "nunomaduro/mock-final-classes": "^1.1", @@ -7236,10 +8354,10 @@ "phpstan/phpdoc-parser": "^1.6", "phpunit/phpunit": "^9.6", "psalm/plugin-mockery": "^1.1", - "psalm/plugin-phpunit": "^0.18", + "psalm/plugin-phpunit": "^0.19", "slevomat/coding-standard": "^8.4", "squizlabs/php_codesniffer": "^3.6", - "symfony/process": "^4.4 || ^5.0 || ^6.0 || ^7.0" + "symfony/process": "^6.0 || ^7.0" }, "suggest": { "ext-curl": "In order to send data to shepherd", @@ -7250,6 +8368,7 @@ "psalm-language-server", "psalm-plugin", "psalm-refactor", + "psalm-review", "psalter" ], "type": "project", @@ -7259,7 +8378,9 @@ "dev-2.x": "2.x-dev", "dev-3.x": "3.x-dev", "dev-4.x": "4.x-dev", - "dev-master": "5.x-dev" + "dev-5.x": "5.x-dev", + "dev-6.x": "6.x-dev", + "dev-master": "7.x-dev" } }, "autoload": { @@ -7274,6 +8395,10 @@ "authors": [ { "name": "Matthew Brown" + }, + { + "name": "Daniil Gentili", + "email": "daniil@daniil.it" } ], "description": "A static analysis tool for finding errors in PHP applications", @@ -7288,7 +8413,7 @@ "issues": "https://github.com/vimeo/psalm/issues", "source": "https://github.com/vimeo/psalm" }, - "time": "2024-09-08T18:53:08+00:00" + "time": "2025-02-05T12:31:01+00:00" }, { "name": "webmozart/assert", @@ -7357,7 +8482,7 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "~8.2.0 || ~8.3.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 1d31a743..46e3ac86 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -5,6 +5,11 @@ displayDetailsOnTestsThatTriggerDeprecations="true" bootstrap="test/bootstrap.php" colors="true" + failOnDeprecation="true" + failOnWarning="true" + failOnPhpunitDeprecation="true" + failOnNotice="true" + failOnEmptyTestSuite="true" cacheDirectory=".phpunit.cache" > @@ -15,10 +20,10 @@ ./test/e2e - + - ./src + src diff --git a/psalm.xml b/psalm.xml index d526e2ab..338dc04d 100644 --- a/psalm.xml +++ b/psalm.xml @@ -32,6 +32,12 @@ + + + + + + diff --git a/test/e2e/Command/AssertBackwardsCompatibleTest.php b/test/e2e/Command/AssertBackwardsCompatibleTest.php index becc433e..e8905e63 100644 --- a/test/e2e/Command/AssertBackwardsCompatibleTest.php +++ b/test/e2e/Command/AssertBackwardsCompatibleTest.php @@ -4,6 +4,7 @@ namespace RoaveE2ETest\BackwardCompatibility\Command; +use PHPUnit\Framework\Attributes\CoversNothing; use PHPUnit\Framework\TestCase; use Psl\Env; use Psl\File; @@ -11,7 +12,7 @@ use Psl\Shell; use Psl\Str; -/** @coversNothing */ +#[CoversNothing] final class AssertBackwardsCompatibleTest extends TestCase { private const COMPOSER_MANIFEST = <<<'JSON' diff --git a/test/unit/ChangeTest.php b/test/unit/ChangeTest.php index d60e5013..fe55cf73 100644 --- a/test/unit/ChangeTest.php +++ b/test/unit/ChangeTest.php @@ -5,12 +5,13 @@ namespace RoaveTest\BackwardCompatibility; use Exception; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use function uniqid; -/** @covers \Roave\BackwardCompatibility\Change */ +#[CoversClass(Change::class)] final class ChangeTest extends TestCase { public function testAdded(): void diff --git a/test/unit/ChangesTest.php b/test/unit/ChangesTest.php index 67662c58..fc1a71bb 100644 --- a/test/unit/ChangesTest.php +++ b/test/unit/ChangesTest.php @@ -5,6 +5,7 @@ namespace RoaveTest\BackwardCompatibility; use Generator; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Psl\Type; use Roave\BackwardCompatibility\Baseline; @@ -17,7 +18,7 @@ use function serialize; use function unserialize; -/** @covers \Roave\BackwardCompatibility\Changes */ +#[CoversClass(Changes::class)] final class ChangesTest extends TestCase { public function testMergeWith(): void @@ -112,12 +113,11 @@ public function testFromList(): void public function testCount(): void { - $count = random_int(2, 10); + $count = random_int(2, 10); + $changes = Changes::fromList(...array_fill(0, $count, Change::added('foo', true))); - self::assertCount( - $count, - Changes::fromList(...array_fill(0, $count, Change::added('foo', true))), - ); + self::assertSame($count, $changes->count()); + self::assertCount($count, $changes, 'Changes are countable'); } /** @psalm-suppress UnusedVariable by-ref assignments are in place to override the behavior of the spy/callback */ diff --git a/test/unit/Command/AssertBackwardsCompatibleTest.php b/test/unit/Command/AssertBackwardsCompatibleTest.php index c5f7bbdd..befa8979 100644 --- a/test/unit/Command/AssertBackwardsCompatibleTest.php +++ b/test/unit/Command/AssertBackwardsCompatibleTest.php @@ -5,6 +5,8 @@ namespace RoaveTest\BackwardCompatibility\Command; use LogicException; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Psl\Env; @@ -36,7 +38,7 @@ use function assert; use function is_string; -/** @covers \Roave\BackwardCompatibility\Command\AssertBackwardsCompatible */ +#[CoversClass(AssertBackwardsCompatible::class)] final class AssertBackwardsCompatibleTest extends TestCase { private CheckedOutRepository $sourceRepository; @@ -301,7 +303,7 @@ public function testExecuteWithDefaultRevisionsNotProvidedAndNoDetectedTags(): v self::assertSame(0, $this->performCheckout->nonRemovedRepositoryCount()); } - /** @dataProvider validVersionCollections */ + #[DataProvider('validVersionCollections')] public function testExecuteWithDefaultRevisionsNotProvided(VersionCollection $versions): void { $fromSha = Hash\Context::forAlgorithm(Hash\Algorithm::Sha1)->update('fromRevision')->finalize(); diff --git a/test/unit/CompareClassesTest.php b/test/unit/CompareClassesTest.php index aa1c57ab..b709d495 100644 --- a/test/unit/CompareClassesTest.php +++ b/test/unit/CompareClassesTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -13,7 +14,7 @@ use Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\InterfaceBased; use Roave\BackwardCompatibility\DetectChanges\BCBreak\TraitBased\TraitBased; -/** @covers \Roave\BackwardCompatibility\CompareClasses */ +#[CoversClass(CompareClasses::class)] final class CompareClassesTest extends TestCase { private static StringReflectorFactory $stringReflectorFactory; diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/AncestorRemovedTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/AncestorRemovedTest.php index 1a34930e..4c3204af 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/AncestorRemovedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/AncestorRemovedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\AncestorRemoved; @@ -17,14 +19,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\AncestorRemoved */ +#[CoversClass(AncestorRemoved::class)] final class AncestorRemovedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameAbstractTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameAbstractTest.php index ca5c3ff9..ccbd3ae5 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameAbstractTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameAbstractTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBecameAbstract; @@ -17,14 +19,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBecameAbstract */ +#[CoversClass(ClassBecameAbstract::class)] final class ClassBecameAbstractTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameFinalTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameFinalTest.php index 8168320c..42afa00a 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameFinalTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameFinalTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBecameFinal; @@ -15,13 +17,11 @@ use function array_map; use function iterator_to_array; +#[CoversClass(ClassBecameFinal::class)] final class ClassBecameFinalTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameInterfaceTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameInterfaceTest.php index 372320af..42d21b5d 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameInterfaceTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameInterfaceTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBecameInterface; @@ -17,13 +19,11 @@ use function array_map; use function iterator_to_array; +#[CoversClass(ClassBecameInterface::class)] final class ClassBecameInterfaceTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameInternalTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameInternalTest.php index 4f90b61e..be3644eb 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameInternalTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameInternalTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBecameInternal; @@ -15,14 +17,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBecameInternal */ +#[CoversClass(ClassBecameInternal::class)] final class ClassBecameInternalTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameTraitTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameTraitTest.php index a1d78a72..a2afd2cc 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameTraitTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/ClassBecameTraitTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBecameTrait; @@ -17,14 +19,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBecameTrait */ +#[CoversClass(ClassBecameTrait::class)] final class ClassBecameTraitTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/ConstantChangedTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/ConstantChangedTest.php index a362a41c..5bd527ed 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/ConstantChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/ConstantChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -15,7 +16,7 @@ use Roave\BetterReflection\SourceLocator\Type\StringSourceLocator; use RoaveTest\BackwardCompatibility\Assertion; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ConstantChanged */ +#[CoversClass(ConstantChanged::class)] final class ConstantChangedTest extends TestCase { public function testWillDetectChangesInConstants(): void diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/ConstantRemovedTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/ConstantRemovedTest.php index 96366047..d39651ad 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/ConstantRemovedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/ConstantRemovedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ConstantRemoved; @@ -15,13 +17,11 @@ use function array_map; use function iterator_to_array; +#[CoversClass(ConstantRemoved::class)] final class ConstantRemovedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/EnumCasesChangedTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/EnumCasesChangedTest.php index 9a4f0cce..9d8963bf 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/EnumCasesChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/EnumCasesChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\EnumCasesChanged; @@ -16,14 +18,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\EnumCasesChanged */ +#[CoversClass(EnumCasesChanged::class)] final class EnumCasesChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider enumsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('enumsToBeTested')] public function testDiffs( ReflectionClass $fromEnum, ReflectionClass $toEnum, diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/ExcludeAnonymousClassesTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/ExcludeAnonymousClassesTest.php index 52df018b..ea96ccaf 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/ExcludeAnonymousClassesTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/ExcludeAnonymousClassesTest.php @@ -4,7 +4,9 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; +use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBased; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ExcludeAnonymousClasses; @@ -15,6 +17,7 @@ use function reset; +#[CoversClass(ExcludeAnonymousClasses::class)] final class ExcludeAnonymousClassesTest extends TestCase { public function testNormalClassesAreNotExcluded(): void @@ -31,14 +34,17 @@ class ANormalClass {} )); $fromReflection = $reflector->reflectClass('ANormalClass'); $toReflection = $reflector->reflectClass('ANormalClass'); + $changes = Changes::fromList( + Change::added('TEST'), + ); $check = $this->createMock(ClassBased::class); $check->expects(self::once()) ->method('__invoke') ->with($fromReflection, $toReflection) - ->willReturn(Changes::empty()); + ->willReturn($changes); - (new ExcludeAnonymousClasses($check))($fromReflection, $toReflection); + self::assertEquals($changes, (new ExcludeAnonymousClasses($check))($fromReflection, $toReflection)); } public function testAnonymousClassesAreExcluded(): void @@ -61,6 +67,10 @@ public function testAnonymousClassesAreExcluded(): void $check = $this->createMock(ClassBased::class); $check->expects(self::never())->method('__invoke'); - (new ExcludeAnonymousClasses($check))($anonymousClassReflection, $anonymousClassReflection); + self::assertEquals( + 0, + (new ExcludeAnonymousClasses($check))($anonymousClassReflection, $anonymousClassReflection) + ->count(), + ); } } diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/ExcludeInternalClassTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/ExcludeInternalClassTest.php index 3097aeeb..b3536754 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/ExcludeInternalClassTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/ExcludeInternalClassTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -13,7 +14,7 @@ use Roave\BetterReflection\Reflector\DefaultReflector; use Roave\BetterReflection\SourceLocator\Type\StringSourceLocator; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ExcludeInternalClass */ +#[CoversClass(ExcludeInternalClass::class)] final class ExcludeInternalClassTest extends TestCase { public function testNormalClassesAreNotExcluded(): void diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/FinalClassChangedTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/FinalClassChangedTest.php index c5d0e1e4..3badf376 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/FinalClassChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/FinalClassChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -14,7 +15,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\FinalClassChanged */ +#[CoversClass(FinalClassChanged::class)] final class FinalClassChangedTest extends TestCase { /** @var ClassBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/MethodChangedTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/MethodChangedTest.php index fec8124a..d92cef38 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/MethodChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/MethodChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -17,7 +18,7 @@ use function strtolower; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\MethodChanged */ +#[CoversClass(MethodChanged::class)] final class MethodChangedTest extends TestCase { public function testWillDetectChangesInMethods(): void diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/MethodRemovedTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/MethodRemovedTest.php index 598a75e8..2e22f6fd 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/MethodRemovedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/MethodRemovedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\MethodRemoved; @@ -15,13 +17,11 @@ use function array_map; use function iterator_to_array; +#[CoversClass(MethodRemoved::class)] final class MethodRemovedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/MultipleChecksOnAClassTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/MultipleChecksOnAClassTest.php index ffc7084c..1d296a7a 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/MultipleChecksOnAClassTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/MultipleChecksOnAClassTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -12,7 +13,7 @@ use Roave\BetterReflection\Reflection\ReflectionClass; use RoaveTest\BackwardCompatibility\Assertion; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\MultipleChecksOnAClass */ +#[CoversClass(MultipleChecksOnAClass::class)] final class MultipleChecksOnAClassTest extends TestCase { public function testChecksAllGivenCheckers(): void diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/OpenClassChangedTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/OpenClassChangedTest.php index 87c68e09..ffc5d4f6 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/OpenClassChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/OpenClassChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -14,7 +15,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\OpenClassChanged */ +#[CoversClass(OpenClassChanged::class)] final class OpenClassChangedTest extends TestCase { /** @var ClassBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/PropertyChangedTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/PropertyChangedTest.php index ff976cc2..90038703 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/PropertyChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/PropertyChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -15,7 +16,7 @@ use Roave\BetterReflection\SourceLocator\Type\StringSourceLocator; use RoaveTest\BackwardCompatibility\Assertion; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\PropertyChanged */ +#[CoversClass(PropertyChanged::class)] final class PropertyChangedTest extends TestCase { public function testWillDetectChangesInProperties(): void diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/PropertyRemovedTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/PropertyRemovedTest.php index 00e3d60c..9d0f7950 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/PropertyRemovedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/PropertyRemovedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\PropertyRemoved; @@ -16,13 +18,11 @@ use function array_map; use function iterator_to_array; +#[CoversClass(PropertyRemoved::class)] final class PropertyRemovedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/ClassBased/SkipClassBasedErrorsTest.php b/test/unit/DetectChanges/BCBreak/ClassBased/SkipClassBasedErrorsTest.php index dfeb4854..21835907 100644 --- a/test/unit/DetectChanges/BCBreak/ClassBased/SkipClassBasedErrorsTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassBased/SkipClassBasedErrorsTest.php @@ -5,6 +5,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased; use Exception; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -15,7 +16,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\SkipClassBasedErrors */ +#[CoversClass(SkipClassBasedErrors::class)] final class SkipClassBasedErrorsTest extends TestCase { /** @var ClassBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/ClassConstantBased/ClassConstantValueChangedTest.php b/test/unit/DetectChanges/BCBreak/ClassConstantBased/ClassConstantValueChangedTest.php index 2283f331..823b051e 100644 --- a/test/unit/DetectChanges/BCBreak/ClassConstantBased/ClassConstantValueChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassConstantBased/ClassConstantValueChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Psl\Type; use Roave\BackwardCompatibility\Change; @@ -18,14 +20,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased\ClassConstantValueChanged */ +#[CoversClass(ClassConstantValueChanged::class)] final class ClassConstantValueChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider constantsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('constantsToBeTested')] public function testDiffs( ReflectionClassConstant $fromConstant, ReflectionClassConstant $toConstant, diff --git a/test/unit/DetectChanges/BCBreak/ClassConstantBased/ClassConstantVisibilityReducedTest.php b/test/unit/DetectChanges/BCBreak/ClassConstantBased/ClassConstantVisibilityReducedTest.php index 5f4cc4a3..a9b9e062 100644 --- a/test/unit/DetectChanges/BCBreak/ClassConstantBased/ClassConstantVisibilityReducedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassConstantBased/ClassConstantVisibilityReducedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Psl\Type; use Roave\BackwardCompatibility\Change; @@ -18,14 +20,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased\ClassConstantVisibilityReduced */ +#[CoversClass(ClassConstantVisibilityReduced::class)] final class ClassConstantVisibilityReducedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider constantsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('constantsToBeTested')] public function testDiffs( ReflectionClassConstant $fromConstant, ReflectionClassConstant $toConstant, diff --git a/test/unit/DetectChanges/BCBreak/ClassConstantBased/MultipleChecksOnAClassConstantTest.php b/test/unit/DetectChanges/BCBreak/ClassConstantBased/MultipleChecksOnAClassConstantTest.php index 5487bacd..e4c41bd9 100644 --- a/test/unit/DetectChanges/BCBreak/ClassConstantBased/MultipleChecksOnAClassConstantTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassConstantBased/MultipleChecksOnAClassConstantTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -13,7 +14,7 @@ use Roave\BetterReflection\Reflection\ReflectionClassConstant; use RoaveTest\BackwardCompatibility\Assertion; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased\MultipleChecksOnAClassConstant */ +#[CoversClass(MultipleChecksOnAClassConstant::class)] final class MultipleChecksOnAClassConstantTest extends TestCase { public function testChecksAllGivenCheckers(): void diff --git a/test/unit/DetectChanges/BCBreak/ClassConstantBased/OnlyProtectedClassConstantChangedTest.php b/test/unit/DetectChanges/BCBreak/ClassConstantBased/OnlyProtectedClassConstantChangedTest.php index a9b0a6bd..76cb5d47 100644 --- a/test/unit/DetectChanges/BCBreak/ClassConstantBased/OnlyProtectedClassConstantChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassConstantBased/OnlyProtectedClassConstantChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -14,7 +15,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased\OnlyProtectedClassConstantChanged */ +#[CoversClass(OnlyProtectedClassConstantChanged::class)] final class OnlyProtectedClassConstantChangedTest extends TestCase { /** @var ClassConstantBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/ClassConstantBased/OnlyPublicClassConstantChangedTest.php b/test/unit/DetectChanges/BCBreak/ClassConstantBased/OnlyPublicClassConstantChangedTest.php index 09f8c7a2..11590a22 100644 --- a/test/unit/DetectChanges/BCBreak/ClassConstantBased/OnlyPublicClassConstantChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassConstantBased/OnlyPublicClassConstantChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -14,7 +15,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased\OnlyPublicClassConstantChanged */ +#[CoversClass(OnlyPublicClassConstantChanged::class)] final class OnlyPublicClassConstantChangedTest extends TestCase { /** @var ClassConstantBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/ClassConstantBased/SkipClassConstantBasedErrorsTest.php b/test/unit/DetectChanges/BCBreak/ClassConstantBased/SkipClassConstantBasedErrorsTest.php index 136ac975..359a529d 100644 --- a/test/unit/DetectChanges/BCBreak/ClassConstantBased/SkipClassConstantBasedErrorsTest.php +++ b/test/unit/DetectChanges/BCBreak/ClassConstantBased/SkipClassConstantBasedErrorsTest.php @@ -5,6 +5,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased; use Exception; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -15,7 +16,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased\SkipClassConstantBasedErrors */ +#[CoversClass(SkipClassConstantBasedErrors::class)] final class SkipClassConstantBasedErrorsTest extends TestCase { /** @var ClassConstantBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/ExcludeInternalFunctionTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/ExcludeInternalFunctionTest.php index 1977ab01..9ee8c44d 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/ExcludeInternalFunctionTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/ExcludeInternalFunctionTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -13,7 +14,7 @@ use Roave\BetterReflection\Reflector\DefaultReflector; use Roave\BetterReflection\SourceLocator\Type\StringSourceLocator; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ExcludeInternalFunction */ +#[CoversClass(ExcludeInternalFunction::class)] final class ExcludeInternalFunctionTest extends TestCase { public function testNormalFunctionsAreNotExcluded(): void diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/FunctionBecameInternalTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/FunctionBecameInternalTest.php index a97b1610..4d12a6b7 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/FunctionBecameInternalTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/FunctionBecameInternalTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\FunctionBecameInternal; @@ -18,14 +20,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\FunctionBecameInternal */ +#[CoversClass(FunctionBecameInternal::class)] final class FunctionBecameInternalTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider functionsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('functionsToBeTested')] public function testDiffs( ReflectionMethod|ReflectionFunction $fromFunction, ReflectionMethod|ReflectionFunction $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/MultipleChecksOnAFunctionTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/MultipleChecksOnAFunctionTest.php index cf216a22..f993923f 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/MultipleChecksOnAFunctionTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/MultipleChecksOnAFunctionTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -12,7 +13,7 @@ use Roave\BetterReflection\Reflection\ReflectionFunction; use RoaveTest\BackwardCompatibility\Assertion; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\MultipleChecksOnAFunction */ +#[CoversClass(MultipleChecksOnAFunction::class)] final class MultipleChecksOnAFunctionTest extends TestCase { public function testChecksAllGivenCheckers(): void diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterByReferenceChangedTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterByReferenceChangedTest.php index 94574002..fadc014d 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterByReferenceChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterByReferenceChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterByReferenceChanged; @@ -21,14 +23,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterByReferenceChanged */ +#[CoversClass(ParameterByReferenceChanged::class)] final class ParameterByReferenceChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider functionsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('functionsToBeTested')] public function testDiffs( ReflectionMethod|ReflectionFunction $fromFunction, ReflectionMethod|ReflectionFunction $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterDefaultValueChangedTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterDefaultValueChangedTest.php index 47eed18f..ce7e0e54 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterDefaultValueChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterDefaultValueChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterDefaultValueChanged; @@ -25,14 +27,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterDefaultValueChanged */ +#[CoversClass(ParameterDefaultValueChanged::class)] final class ParameterDefaultValueChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider functionsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('functionsToBeTested')] public function testDiffs( ReflectionMethod|ReflectionFunction $fromFunction, ReflectionMethod|ReflectionFunction $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterNameChangedTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterNameChangedTest.php index b25a8f35..06a61699 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterNameChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterNameChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterNameChanged; @@ -19,14 +21,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterNameChanged */ +#[CoversClass(ParameterNameChanged::class)] final class ParameterNameChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider functionsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('functionsToBeTested')] public function testDiffs( ReflectionMethod|ReflectionFunction $fromFunction, ReflectionMethod|ReflectionFunction $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterTypeChangedTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterTypeChangedTest.php index 3da38051..2895a87d 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterTypeChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterTypeChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterTypeChanged; @@ -21,14 +23,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterTypeChanged */ +#[CoversClass(ParameterTypeChanged::class)] final class ParameterTypeChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider functionsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('functionsToBeTested')] public function testDiffs( ReflectionMethod|ReflectionFunction $fromFunction, ReflectionMethod|ReflectionFunction $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterTypeContravarianceChangedTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterTypeContravarianceChangedTest.php index 3d92467d..b9ace510 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterTypeContravarianceChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/ParameterTypeContravarianceChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterTypeContravarianceChanged; @@ -22,14 +24,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ParameterTypeContravarianceChanged */ +#[CoversClass(ParameterTypeContravarianceChanged::class)] final class ParameterTypeContravarianceChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider functionsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('functionsToBeTested')] public function testDiffs( ReflectionMethod|ReflectionFunction $fromFunction, ReflectionMethod|ReflectionFunction $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/RequiredParameterAmountIncreasedTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/RequiredParameterAmountIncreasedTest.php index 95159a5e..f593444e 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/RequiredParameterAmountIncreasedTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/RequiredParameterAmountIncreasedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\RequiredParameterAmountIncreased; @@ -21,14 +23,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\RequiredParameterAmountIncreased */ +#[CoversClass(RequiredParameterAmountIncreased::class)] final class RequiredParameterAmountIncreasedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider functionsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('functionsToBeTested')] public function testDiffs( ReflectionMethod|ReflectionFunction $fromFunction, ReflectionMethod|ReflectionFunction $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeByReferenceChangedTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeByReferenceChangedTest.php index ec14472a..0a880bb3 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeByReferenceChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeByReferenceChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeByReferenceChanged; @@ -21,14 +23,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeByReferenceChanged */ +#[CoversClass(ReturnTypeByReferenceChanged::class)] final class ReturnTypeByReferenceChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider functionsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('functionsToBeTested')] public function testDiffs( ReflectionMethod|ReflectionFunction $fromFunction, ReflectionMethod|ReflectionFunction $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeChangedTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeChangedTest.php index 921a3b61..81584ae6 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeChanged; @@ -21,14 +23,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeChanged */ +#[CoversClass(ReturnTypeChanged::class)] final class ReturnTypeChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider functionsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('functionsToBeTested')] public function testDiffs( ReflectionMethod|ReflectionFunction $fromFunction, ReflectionMethod|ReflectionFunction $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeCovarianceChangedTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeCovarianceChangedTest.php index b1810d07..0abe263a 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeCovarianceChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/ReturnTypeCovarianceChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeCovarianceChanged; @@ -22,14 +24,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\ReturnTypeCovarianceChanged */ +#[CoversClass(ReturnTypeCovarianceChanged::class)] final class ReturnTypeCovarianceChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider functionsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('functionsToBeTested')] public function testDiffs( ReflectionMethod|ReflectionFunction $fromFunction, ReflectionMethod|ReflectionFunction $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/FunctionBased/SkipFunctionBasedErrorsTest.php b/test/unit/DetectChanges/BCBreak/FunctionBased/SkipFunctionBasedErrorsTest.php index 0c0fcaf4..a457abf5 100644 --- a/test/unit/DetectChanges/BCBreak/FunctionBased/SkipFunctionBasedErrorsTest.php +++ b/test/unit/DetectChanges/BCBreak/FunctionBased/SkipFunctionBasedErrorsTest.php @@ -5,6 +5,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased; use Exception; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -15,7 +16,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased\SkipFunctionBasedErrors */ +#[CoversClass(SkipFunctionBasedErrors::class)] final class SkipFunctionBasedErrorsTest extends TestCase { /** @var FunctionBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/InterfaceBased/AncestorRemovedTest.php b/test/unit/DetectChanges/BCBreak/InterfaceBased/AncestorRemovedTest.php index 0d6308d5..2c58285b 100644 --- a/test/unit/DetectChanges/BCBreak/InterfaceBased/AncestorRemovedTest.php +++ b/test/unit/DetectChanges/BCBreak/InterfaceBased/AncestorRemovedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\AncestorRemoved; @@ -17,14 +19,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\AncestorRemoved */ +#[CoversClass(AncestorRemoved::class)] final class AncestorRemovedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider interfacesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('interfacesToBeTested')] public function testDiffs( ReflectionClass $fromInterface, ReflectionClass $toInterace, diff --git a/test/unit/DetectChanges/BCBreak/InterfaceBased/ExcludeInternalInterfaceTest.php b/test/unit/DetectChanges/BCBreak/InterfaceBased/ExcludeInternalInterfaceTest.php index cf1d8b56..03dce277 100644 --- a/test/unit/DetectChanges/BCBreak/InterfaceBased/ExcludeInternalInterfaceTest.php +++ b/test/unit/DetectChanges/BCBreak/InterfaceBased/ExcludeInternalInterfaceTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -13,7 +14,7 @@ use Roave\BetterReflection\Reflector\DefaultReflector; use Roave\BetterReflection\SourceLocator\Type\StringSourceLocator; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\ExcludeInternalInterface */ +#[CoversClass(ExcludeInternalInterface::class)] final class ExcludeInternalInterfaceTest extends TestCase { public function testNormalInterfacesAreNotExcluded(): void diff --git a/test/unit/DetectChanges/BCBreak/InterfaceBased/InterfaceBecameClassTest.php b/test/unit/DetectChanges/BCBreak/InterfaceBased/InterfaceBecameClassTest.php index 220aeacd..9044e1de 100644 --- a/test/unit/DetectChanges/BCBreak/InterfaceBased/InterfaceBecameClassTest.php +++ b/test/unit/DetectChanges/BCBreak/InterfaceBased/InterfaceBecameClassTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\InterfaceBecameClass; @@ -17,13 +19,11 @@ use function array_map; use function iterator_to_array; +#[CoversClass(InterfaceBecameClass::class)] final class InterfaceBecameClassTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/InterfaceBased/InterfaceBecameTraitTest.php b/test/unit/DetectChanges/BCBreak/InterfaceBased/InterfaceBecameTraitTest.php index 90e8f261..13eb96c3 100644 --- a/test/unit/DetectChanges/BCBreak/InterfaceBased/InterfaceBecameTraitTest.php +++ b/test/unit/DetectChanges/BCBreak/InterfaceBased/InterfaceBecameTraitTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\InterfaceBecameTrait; @@ -17,13 +19,11 @@ use function array_map; use function iterator_to_array; +#[CoversClass(InterfaceBecameTrait::class)] final class InterfaceBecameTraitTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/InterfaceBased/MethodAddedTest.php b/test/unit/DetectChanges/BCBreak/InterfaceBased/MethodAddedTest.php index 09b192d4..737eb32f 100644 --- a/test/unit/DetectChanges/BCBreak/InterfaceBased/MethodAddedTest.php +++ b/test/unit/DetectChanges/BCBreak/InterfaceBased/MethodAddedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\MethodAdded; @@ -17,13 +19,11 @@ use function array_map; use function iterator_to_array; +#[CoversClass(MethodAdded::class)] final class MethodAddedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider interfacesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('interfacesToBeTested')] public function testDiffs( ReflectionClass $fromInterface, ReflectionClass $toInterface, diff --git a/test/unit/DetectChanges/BCBreak/InterfaceBased/MultipleChecksOnAnInterfaceTest.php b/test/unit/DetectChanges/BCBreak/InterfaceBased/MultipleChecksOnAnInterfaceTest.php index ce62b1a4..e56a27c0 100644 --- a/test/unit/DetectChanges/BCBreak/InterfaceBased/MultipleChecksOnAnInterfaceTest.php +++ b/test/unit/DetectChanges/BCBreak/InterfaceBased/MultipleChecksOnAnInterfaceTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -12,7 +13,7 @@ use Roave\BetterReflection\Reflection\ReflectionClass; use RoaveTest\BackwardCompatibility\Assertion; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\MultipleChecksOnAnInterface */ +#[CoversClass(MultipleChecksOnAnInterface::class)] final class MultipleChecksOnAnInterfaceTest extends TestCase { public function testChecksAllGivenCheckers(): void diff --git a/test/unit/DetectChanges/BCBreak/InterfaceBased/SkipInterfaceBasedErrorsTest.php b/test/unit/DetectChanges/BCBreak/InterfaceBased/SkipInterfaceBasedErrorsTest.php index 46546545..96413b3d 100644 --- a/test/unit/DetectChanges/BCBreak/InterfaceBased/SkipInterfaceBasedErrorsTest.php +++ b/test/unit/DetectChanges/BCBreak/InterfaceBased/SkipInterfaceBasedErrorsTest.php @@ -5,6 +5,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased; use Exception; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -15,7 +16,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\SkipInterfaceBasedErrors */ +#[CoversClass(SkipInterfaceBasedErrors::class)] final class SkipInterfaceBasedErrorsTest extends TestCase { /** @var InterfaceBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/InterfaceBased/UseClassBasedChecksOnAnInterfaceTest.php b/test/unit/DetectChanges/BCBreak/InterfaceBased/UseClassBasedChecksOnAnInterfaceTest.php index a08dfadb..ffae7448 100644 --- a/test/unit/DetectChanges/BCBreak/InterfaceBased/UseClassBasedChecksOnAnInterfaceTest.php +++ b/test/unit/DetectChanges/BCBreak/InterfaceBased/UseClassBasedChecksOnAnInterfaceTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -13,7 +14,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\UseClassBasedChecksOnAnInterface */ +#[CoversClass(UseClassBasedChecksOnAnInterface::class)] final class UseClassBasedChecksOnAnInterfaceTest extends TestCase { public function testCompare(): void diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/AccessibleMethodChangeTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/AccessibleMethodChangeTest.php index 0f4ba615..7c3208c2 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/AccessibleMethodChangeTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/AccessibleMethodChangeTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -14,7 +15,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\AccessibleMethodChange */ +#[CoversClass(AccessibleMethodChange::class)] final class AccessibleMethodChangeTest extends TestCase { /** @var MethodBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/ExcludeInternalMethodTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/ExcludeInternalMethodTest.php index 97ac797d..6e94ab63 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/ExcludeInternalMethodTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/ExcludeInternalMethodTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -15,7 +16,7 @@ use function assert; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\ExcludeInternalMethod */ +#[CoversClass(ExcludeInternalMethod::class)] final class ExcludeInternalMethodTest extends TestCase { public function testNormalMethodsAreNotExcluded(): void diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/MethodBecameFinalTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/MethodBecameFinalTest.php index acf6295b..c3e769b4 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/MethodBecameFinalTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/MethodBecameFinalTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MethodBecameFinal; @@ -19,14 +21,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MethodBecameFinal */ +#[CoversClass(MethodBecameFinal::class)] final class MethodBecameFinalTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider propertiesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('methodsToBeTested')] public function testDiffs( ReflectionMethod $fromMethod, ReflectionMethod $toMethod, @@ -46,7 +45,7 @@ public function testDiffs( * @return array>> * @psalm-return array}> */ - public static function propertiesToBeTested(): array + public static function methodsToBeTested(): array { $astLocator = (new BetterReflection())->astLocator(); diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/MethodConcretenessChangedTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/MethodConcretenessChangedTest.php index 9f0a82bc..df569acb 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/MethodConcretenessChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/MethodConcretenessChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MethodConcretenessChanged; @@ -19,14 +21,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MethodConcretenessChanged */ +#[CoversClass(MethodConcretenessChanged::class)] final class MethodConcretenessChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider propertiesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('methodsToBeTested')] public function testDiffs( ReflectionMethod $fromMethod, ReflectionMethod $toMethod, @@ -46,7 +45,7 @@ public function testDiffs( * @return array>> * @psalm-return array}> */ - public static function propertiesToBeTested(): array + public static function methodsToBeTested(): array { $astLocator = (new BetterReflection())->astLocator(); diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/MethodFunctionDefinitionChangedTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/MethodFunctionDefinitionChangedTest.php index 71cebbae..808cd9c6 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/MethodFunctionDefinitionChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/MethodFunctionDefinitionChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -15,7 +16,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MethodFunctionDefinitionChanged */ +#[CoversClass(MethodFunctionDefinitionChanged::class)] final class MethodFunctionDefinitionChangedTest extends TestCase { /** @var FunctionBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/MethodParameterAddedTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/MethodParameterAddedTest.php index 17cb830c..0ef64e08 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/MethodParameterAddedTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/MethodParameterAddedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -21,7 +23,7 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MethodParameterAdded */ +#[CoversClass(MethodParameterAdded::class)] final class MethodParameterAddedTest extends TestCase { private MethodBased $methodCheck; @@ -73,11 +75,8 @@ public function testWillSkipCheckingPrivateMethodsOnFinalClasses(): void self::assertEquals(Changes::empty(), ($this->methodCheck)($from, $to)); } - /** - * @param string[] $expectedMessages - * - * @dataProvider methodsToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('methodsToBeTested')] public function testDiffs( ReflectionMethod $fromMethod, ReflectionMethod $toMethod, diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/MethodScopeChangedTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/MethodScopeChangedTest.php index 206d346c..05d1a533 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/MethodScopeChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/MethodScopeChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MethodScopeChanged; @@ -19,14 +21,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MethodScopeChanged */ +#[CoversClass(MethodScopeChanged::class)] final class MethodScopeChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider propertiesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('methodsToBeTested')] public function testDiffs( ReflectionMethod $fromMethod, ReflectionMethod $toMethod, @@ -43,7 +42,7 @@ public function testDiffs( } /** @return array}> */ - public static function propertiesToBeTested(): array + public static function methodsToBeTested(): array { $astLocator = (new BetterReflection())->astLocator(); diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/MethodVisibilityReducedTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/MethodVisibilityReducedTest.php index 781a1b02..d97e61e7 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/MethodVisibilityReducedTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/MethodVisibilityReducedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MethodVisibilityReduced; @@ -19,14 +21,11 @@ use function assert; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MethodVisibilityReduced */ +#[CoversClass(MethodVisibilityReduced::class)] final class MethodVisibilityReducedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider propertiesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('methodsToBeTested')] public function testDiffs( ReflectionMethod $fromMethod, ReflectionMethod $toMethod, @@ -46,7 +45,7 @@ public function testDiffs( * @return array>> * @psalm-return array}> */ - public static function propertiesToBeTested(): array + public static function methodsToBeTested(): array { $astLocator = (new BetterReflection())->astLocator(); diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/MultipleChecksOnAMethodTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/MultipleChecksOnAMethodTest.php index b6dff816..a74ef142 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/MultipleChecksOnAMethodTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/MultipleChecksOnAMethodTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -12,7 +13,7 @@ use Roave\BetterReflection\Reflection\ReflectionMethod; use RoaveTest\BackwardCompatibility\Assertion; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MultipleChecksOnAMethod */ +#[CoversClass(MultipleChecksOnAMethod::class)] final class MultipleChecksOnAMethodTest extends TestCase { public function testChecksAllGivenCheckers(): void diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/OnlyProtectedMethodChangedTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/OnlyProtectedMethodChangedTest.php index 5d32c25e..8f717d55 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/OnlyProtectedMethodChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/OnlyProtectedMethodChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -14,7 +15,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\OnlyProtectedMethodChanged */ +#[CoversClass(OnlyProtectedMethodChanged::class)] final class OnlyProtectedMethodChangedTest extends TestCase { /** @var MethodBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/OnlyPublicMethodChangedTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/OnlyPublicMethodChangedTest.php index 3c994324..baf3420c 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/OnlyPublicMethodChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/OnlyPublicMethodChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -14,7 +15,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\OnlyPublicMethodChanged */ +#[CoversClass(OnlyPublicMethodChanged::class)] final class OnlyPublicMethodChangedTest extends TestCase { /** @var MethodBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/MethodBased/SkipMethodBasedErrorsTest.php b/test/unit/DetectChanges/BCBreak/MethodBased/SkipMethodBasedErrorsTest.php index d97e7859..c246088a 100644 --- a/test/unit/DetectChanges/BCBreak/MethodBased/SkipMethodBasedErrorsTest.php +++ b/test/unit/DetectChanges/BCBreak/MethodBased/SkipMethodBasedErrorsTest.php @@ -5,6 +5,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\MethodBased; use Exception; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -15,7 +16,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\SkipMethodBasedErrors */ +#[CoversClass(SkipMethodBasedErrors::class)] final class SkipMethodBasedErrorsTest extends TestCase { /** @var MethodBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/PropertyBased/AccessiblePropertyChangedTest.php b/test/unit/DetectChanges/BCBreak/PropertyBased/AccessiblePropertyChangedTest.php index 47ca72ca..dc537612 100644 --- a/test/unit/DetectChanges/BCBreak/PropertyBased/AccessiblePropertyChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/PropertyBased/AccessiblePropertyChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -14,7 +15,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\AccessiblePropertyChanged */ +#[CoversClass(AccessiblePropertyChanged::class)] final class AccessiblePropertyChangedTest extends TestCase { /** @var PropertyBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/PropertyBased/ExcludeInternalPropertyTest.php b/test/unit/DetectChanges/BCBreak/PropertyBased/ExcludeInternalPropertyTest.php index b17f1b38..af4a82cf 100644 --- a/test/unit/DetectChanges/BCBreak/PropertyBased/ExcludeInternalPropertyTest.php +++ b/test/unit/DetectChanges/BCBreak/PropertyBased/ExcludeInternalPropertyTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -13,7 +14,7 @@ use Roave\BetterReflection\Reflector\DefaultReflector; use Roave\BetterReflection\SourceLocator\Type\StringSourceLocator; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\ExcludeInternalProperty */ +#[CoversClass(ExcludeInternalProperty::class)] final class ExcludeInternalPropertyTest extends TestCase { public function testNormalPropertiesAreNotExcluded(): void diff --git a/test/unit/DetectChanges/BCBreak/PropertyBased/MultipleChecksOnAPropertyTest.php b/test/unit/DetectChanges/BCBreak/PropertyBased/MultipleChecksOnAPropertyTest.php index 1cee1a28..081ee1b8 100644 --- a/test/unit/DetectChanges/BCBreak/PropertyBased/MultipleChecksOnAPropertyTest.php +++ b/test/unit/DetectChanges/BCBreak/PropertyBased/MultipleChecksOnAPropertyTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -13,7 +14,7 @@ use Roave\BetterReflection\Reflection\ReflectionProperty; use RoaveTest\BackwardCompatibility\Assertion; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\MultipleChecksOnAProperty */ +#[CoversClass(MultipleChecksOnAProperty::class)] final class MultipleChecksOnAPropertyTest extends TestCase { public function testChecksAllGivenCheckers(): void diff --git a/test/unit/DetectChanges/BCBreak/PropertyBased/OnlyProtectedPropertyChangedTest.php b/test/unit/DetectChanges/BCBreak/PropertyBased/OnlyProtectedPropertyChangedTest.php index 579a2614..03bbfc43 100644 --- a/test/unit/DetectChanges/BCBreak/PropertyBased/OnlyProtectedPropertyChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/PropertyBased/OnlyProtectedPropertyChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -14,7 +15,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\OnlyProtectedPropertyChanged */ +#[CoversClass(OnlyProtectedPropertyChanged::class)] final class OnlyProtectedPropertyChangedTest extends TestCase { /** @var PropertyBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/PropertyBased/OnlyPublicPropertyChangedTest.php b/test/unit/DetectChanges/BCBreak/PropertyBased/OnlyPublicPropertyChangedTest.php index 33e82914..f064655b 100644 --- a/test/unit/DetectChanges/BCBreak/PropertyBased/OnlyPublicPropertyChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/PropertyBased/OnlyPublicPropertyChangedTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -14,7 +15,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\OnlyPublicPropertyChanged */ +#[CoversClass(OnlyPublicPropertyChanged::class)] final class OnlyPublicPropertyChangedTest extends TestCase { /** @var PropertyBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyBecameInternalTest.php b/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyBecameInternalTest.php index ad404a07..91f8710f 100644 --- a/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyBecameInternalTest.php +++ b/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyBecameInternalTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\PropertyBecameInternal; @@ -18,14 +20,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\PropertyBecameInternal */ +#[CoversClass(PropertyBecameInternal::class)] final class PropertyBecameInternalTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider propertiesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('propertiesToBeTested')] public function testDiffs( ReflectionProperty $fromFunction, ReflectionProperty $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyDefaultValueChangedTest.php b/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyDefaultValueChangedTest.php index efaf4361..36387c19 100644 --- a/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyDefaultValueChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyDefaultValueChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\PropertyDefaultValueChanged; @@ -18,14 +20,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\PropertyDefaultValueChanged */ +#[CoversClass(PropertyDefaultValueChanged::class)] final class PropertyDefaultValueChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider propertiesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('propertiesToBeTested')] public function testDiffs( ReflectionProperty $fromFunction, ReflectionProperty $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyScopeChangedTest.php b/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyScopeChangedTest.php index 02404543..a2c2ab6e 100644 --- a/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyScopeChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyScopeChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\PropertyScopeChanged; @@ -18,14 +20,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\PropertyScopeChanged */ +#[CoversClass(PropertyScopeChanged::class)] final class PropertyScopeChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider propertiesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('propertiesToBeTested')] public function testDiffs( ReflectionProperty $fromFunction, ReflectionProperty $toFunction, diff --git a/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyTypeChangedTest.php b/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyTypeChangedTest.php index 0fcf891a..d5a48bfd 100644 --- a/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyTypeChangedTest.php +++ b/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyTypeChangedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\PropertyTypeChanged; @@ -20,14 +22,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\PropertyTypeChanged */ +#[CoversClass(PropertyTypeChanged::class)] final class PropertyTypeChangedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider propertiesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('propertiesToBeTested')] public function testDiffs( ReflectionProperty $fromProperty, ReflectionProperty $toProperty, diff --git a/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyVisibilityReducedTest.php b/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyVisibilityReducedTest.php index 061c40f6..37ba83c5 100644 --- a/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyVisibilityReducedTest.php +++ b/test/unit/DetectChanges/BCBreak/PropertyBased/PropertyVisibilityReducedTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\PropertyVisibilityReduced; @@ -18,14 +20,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\PropertyVisibilityReduced */ +#[CoversClass(PropertyVisibilityReduced::class)] final class PropertyVisibilityReducedTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider propertiesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('propertiesToBeTested')] public function testDiffs( ReflectionProperty $fromProperty, ReflectionProperty $toProperty, diff --git a/test/unit/DetectChanges/BCBreak/PropertyBased/SkipPropertyBasedErrorsTest.php b/test/unit/DetectChanges/BCBreak/PropertyBased/SkipPropertyBasedErrorsTest.php index c9d3afc0..bd670b70 100644 --- a/test/unit/DetectChanges/BCBreak/PropertyBased/SkipPropertyBasedErrorsTest.php +++ b/test/unit/DetectChanges/BCBreak/PropertyBased/SkipPropertyBasedErrorsTest.php @@ -5,6 +5,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased; use Exception; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -15,7 +16,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\PropertyBased\SkipPropertyBasedErrors */ +#[CoversClass(SkipPropertyBasedErrors::class)] final class SkipPropertyBasedErrorsTest extends TestCase { /** @var PropertyBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/TraitBased/ExcludeInternalTraitTest.php b/test/unit/DetectChanges/BCBreak/TraitBased/ExcludeInternalTraitTest.php index db2328a2..6b8ca975 100644 --- a/test/unit/DetectChanges/BCBreak/TraitBased/ExcludeInternalTraitTest.php +++ b/test/unit/DetectChanges/BCBreak/TraitBased/ExcludeInternalTraitTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\TraitBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -13,7 +14,7 @@ use Roave\BetterReflection\Reflector\DefaultReflector; use Roave\BetterReflection\SourceLocator\Type\StringSourceLocator; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\TraitBased\ExcludeInternalTrait */ +#[CoversClass(ExcludeInternalTrait::class)] final class ExcludeInternalTraitTest extends TestCase { public function testNormalTraitsAreNotExcluded(): void diff --git a/test/unit/DetectChanges/BCBreak/TraitBased/MultipleChecksOnATraitTest.php b/test/unit/DetectChanges/BCBreak/TraitBased/MultipleChecksOnATraitTest.php index 4936b4d0..d5f2ebb0 100644 --- a/test/unit/DetectChanges/BCBreak/TraitBased/MultipleChecksOnATraitTest.php +++ b/test/unit/DetectChanges/BCBreak/TraitBased/MultipleChecksOnATraitTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\TraitBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -12,7 +13,7 @@ use Roave\BetterReflection\Reflection\ReflectionClass; use RoaveTest\BackwardCompatibility\Assertion; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\TraitBased\MultipleChecksOnATrait */ +#[CoversClass(MultipleChecksOnATrait::class)] final class MultipleChecksOnATraitTest extends TestCase { public function testChecksAllGivenCheckers(): void diff --git a/test/unit/DetectChanges/BCBreak/TraitBased/SkipTraitBasedErrorsTest.php b/test/unit/DetectChanges/BCBreak/TraitBased/SkipTraitBasedErrorsTest.php index 3634a147..ce180abb 100644 --- a/test/unit/DetectChanges/BCBreak/TraitBased/SkipTraitBasedErrorsTest.php +++ b/test/unit/DetectChanges/BCBreak/TraitBased/SkipTraitBasedErrorsTest.php @@ -5,6 +5,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\TraitBased; use Exception; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; @@ -15,7 +16,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\TraitBased\SkipTraitBasedErrors */ +#[CoversClass(SkipTraitBasedErrors::class)] final class SkipTraitBasedErrorsTest extends TestCase { /** @var TraitBased&MockObject */ diff --git a/test/unit/DetectChanges/BCBreak/TraitBased/TraitBecameClassTest.php b/test/unit/DetectChanges/BCBreak/TraitBased/TraitBecameClassTest.php index 46f5aa98..bc394567 100644 --- a/test/unit/DetectChanges/BCBreak/TraitBased/TraitBecameClassTest.php +++ b/test/unit/DetectChanges/BCBreak/TraitBased/TraitBecameClassTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\TraitBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\TraitBased\TraitBecameClass; @@ -17,14 +19,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\TraitBased\TraitBecameClass */ +#[CoversClass(TraitBecameClass::class)] final class TraitBecameClassTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/TraitBased/TraitBecameInterfaceTest.php b/test/unit/DetectChanges/BCBreak/TraitBased/TraitBecameInterfaceTest.php index 161f8172..9bc831c3 100644 --- a/test/unit/DetectChanges/BCBreak/TraitBased/TraitBecameInterfaceTest.php +++ b/test/unit/DetectChanges/BCBreak/TraitBased/TraitBecameInterfaceTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\TraitBased; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\DetectChanges\BCBreak\TraitBased\TraitBecameInterface; @@ -17,14 +19,11 @@ use function array_map; use function iterator_to_array; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\TraitBased\TraitBecameInterface */ +#[CoversClass(TraitBecameInterface::class)] final class TraitBecameInterfaceTest extends TestCase { - /** - * @param string[] $expectedMessages - * - * @dataProvider classesToBeTested - */ + /** @param string[] $expectedMessages */ + #[DataProvider('classesToBeTested')] public function testDiffs( ReflectionClass $fromClass, ReflectionClass $toClass, diff --git a/test/unit/DetectChanges/BCBreak/TraitBased/UseClassBasedChecksOnATraitTest.php b/test/unit/DetectChanges/BCBreak/TraitBased/UseClassBasedChecksOnATraitTest.php index 71931a22..73fd2b39 100644 --- a/test/unit/DetectChanges/BCBreak/TraitBased/UseClassBasedChecksOnATraitTest.php +++ b/test/unit/DetectChanges/BCBreak/TraitBased/UseClassBasedChecksOnATraitTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\TraitBased; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; @@ -13,7 +14,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\TraitBased\UseClassBasedChecksOnATrait */ +#[CoversClass(UseClassBasedChecksOnATrait::class)] final class UseClassBasedChecksOnATraitTest extends TestCase { public function testCompare(): void diff --git a/test/unit/DetectChanges/Variance/TypeIsContravariantTest.php b/test/unit/DetectChanges/Variance/TypeIsContravariantTest.php index 0b056af2..509b3535 100644 --- a/test/unit/DetectChanges/Variance/TypeIsContravariantTest.php +++ b/test/unit/DetectChanges/Variance/TypeIsContravariantTest.php @@ -8,6 +8,8 @@ use PhpParser\Node\IntersectionType; use PhpParser\Node\NullableType; use PhpParser\Node\UnionType; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Psl\Type; use Roave\BackwardCompatibility\DetectChanges\Variance\TypeIsContravariant; @@ -24,10 +26,10 @@ use function array_map; use function array_merge; -/** @covers \Roave\BackwardCompatibility\DetectChanges\Variance\TypeIsContravariant */ +#[CoversClass(TypeIsContravariant::class)] final class TypeIsContravariantTest extends TestCase { - /** @dataProvider checkedTypes */ + #[DataProvider('checkedTypes')] public function testContravariance( ReflectionIntersectionType|ReflectionUnionType|ReflectionNamedType|null $type, ReflectionIntersectionType|ReflectionUnionType|ReflectionNamedType|null $newType, @@ -458,7 +460,7 @@ final class OwnerPropertyContainer { private $owner; } ); } - /** @dataProvider existingTypes */ + #[DataProvider('existingTypes')] public function testContravarianceConsidersSameTypeAlwaysContravariant( ReflectionIntersectionType|ReflectionUnionType|ReflectionNamedType|null $type, ): void { @@ -516,7 +518,7 @@ final class OwnerPropertyContainer { private $owner; } ); } - /** @dataProvider existingNullableTypeStrings */ + #[DataProvider('existingNullableTypeStrings')] public function testContravarianceConsidersNullability(string $type): void { $reflector = new DefaultReflector(new StringSourceLocator( diff --git a/test/unit/DetectChanges/Variance/TypeIsCovariantTest.php b/test/unit/DetectChanges/Variance/TypeIsCovariantTest.php index 5336775a..638317dd 100644 --- a/test/unit/DetectChanges/Variance/TypeIsCovariantTest.php +++ b/test/unit/DetectChanges/Variance/TypeIsCovariantTest.php @@ -8,6 +8,8 @@ use PhpParser\Node\IntersectionType; use PhpParser\Node\NullableType; use PhpParser\Node\UnionType; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Psl\Type; use Roave\BackwardCompatibility\DetectChanges\Variance\TypeIsCovariant; @@ -24,10 +26,10 @@ use function array_map; use function array_merge; -/** @covers \Roave\BackwardCompatibility\DetectChanges\Variance\TypeIsCovariant */ +#[CoversClass(TypeIsCovariant::class)] final class TypeIsCovariantTest extends TestCase { - /** @dataProvider checkedTypes */ + #[DataProvider('checkedTypes')] public function testCovariance( ReflectionIntersectionType|ReflectionUnionType|ReflectionNamedType|null $type, ReflectionIntersectionType|ReflectionUnionType|ReflectionNamedType|null $newType, @@ -498,7 +500,7 @@ final class OwnerPropertyContainer { private $owner; } ); } - /** @dataProvider existingTypes */ + #[DataProvider('existingTypes')] public function testCovarianceConsidersSameTypeAlwaysCovariant( ReflectionIntersectionType|ReflectionUnionType|ReflectionNamedType|null $type, ): void { @@ -557,7 +559,7 @@ final class OwnerPropertyContainer { private $owner; } ); } - /** @dataProvider existingNullableTypeStrings */ + #[DataProvider('existingNullableTypeStrings')] public function testCovarianceConsidersNullability(string $type): void { $reflector = new DefaultReflector(new StringSourceLocator( diff --git a/test/unit/Factory/ComposerInstallationReflectorFactoryTest.php b/test/unit/Factory/ComposerInstallationReflectorFactoryTest.php index 91f985a9..b543c701 100644 --- a/test/unit/Factory/ComposerInstallationReflectorFactoryTest.php +++ b/test/unit/Factory/ComposerInstallationReflectorFactoryTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\Factory; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Factory\ComposerInstallationReflectorFactory; use Roave\BackwardCompatibility\LocateSources\LocateSources; @@ -13,7 +14,7 @@ use function uniqid; -/** @covers \Roave\BackwardCompatibility\Factory\ComposerInstallationReflectorFactory */ +#[CoversClass(ComposerInstallationReflectorFactory::class)] final class ComposerInstallationReflectorFactoryTest extends TestCase { /** diff --git a/test/unit/Formatter/FunctionNameTest.php b/test/unit/Formatter/FunctionNameTest.php index 2080d805..1ced7b3e 100644 --- a/test/unit/Formatter/FunctionNameTest.php +++ b/test/unit/Formatter/FunctionNameTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\Formatter; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Formatter\FunctionName; use Roave\BetterReflection\BetterReflection; @@ -15,10 +17,10 @@ use function assert; -/** @covers \Roave\BackwardCompatibility\Formatter\FunctionName */ +#[CoversClass(FunctionName::class)] final class FunctionNameTest extends TestCase { - /** @dataProvider functionsToBeTested */ + #[DataProvider('functionsToBeTested')] public function testName(ReflectionFunction|ReflectionMethod $function, string $expectedName): void { self::assertSame($expectedName, (new FunctionName())($function)); diff --git a/test/unit/Formatter/GithubActionsFormatterTest.php b/test/unit/Formatter/GithubActionsFormatterTest.php index 13a00437..fe8f2110 100644 --- a/test/unit/Formatter/GithubActionsFormatterTest.php +++ b/test/unit/Formatter/GithubActionsFormatterTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\Formatter; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Psl\Env; use Psl\Filesystem; @@ -14,7 +15,7 @@ use Roave\BackwardCompatibility\Git\CheckedOutRepository; use Symfony\Component\Console\Output\BufferedOutput; -/** @covers \Roave\BackwardCompatibility\Formatter\GithubActionsFormatter */ +#[CoversClass(GithubActionsFormatter::class)] final class GithubActionsFormatterTest extends TestCase { /** @throws ReflectionException */ diff --git a/test/unit/Formatter/JsonFormatterTest.php b/test/unit/Formatter/JsonFormatterTest.php index 5f1478c8..a6794781 100644 --- a/test/unit/Formatter/JsonFormatterTest.php +++ b/test/unit/Formatter/JsonFormatterTest.php @@ -5,6 +5,7 @@ namespace RoaveTest\BackwardCompatibility\Formatter; use EnricoStahn\JsonAssert\AssertClass as JsonAssert; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Psl\Env; use Psl\Filesystem; @@ -21,7 +22,7 @@ use const JSON_THROW_ON_ERROR; -/** @covers \Roave\BackwardCompatibility\Formatter\JsonFormatter */ +#[CoversClass(JsonFormatter::class)] final class JsonFormatterTest extends TestCase { /** @throws ReflectionException */ diff --git a/test/unit/Formatter/JunitFormatterTest.php b/test/unit/Formatter/JunitFormatterTest.php index 452ae036..50e684c6 100644 --- a/test/unit/Formatter/JunitFormatterTest.php +++ b/test/unit/Formatter/JunitFormatterTest.php @@ -5,6 +5,7 @@ namespace RoaveTest\BackwardCompatibility\Formatter; use DOMDocument; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Psl\Env; use Psl\Filesystem; @@ -17,7 +18,7 @@ use function extension_loaded; -/** @covers \Roave\BackwardCompatibility\Formatter\JunitFormatter */ +#[CoversClass(JunitFormatter::class)] final class JunitFormatterTest extends TestCase { /** @throws ReflectionException */ diff --git a/test/unit/Formatter/MarkdownPipedToSymfonyConsoleFormatterTest.php b/test/unit/Formatter/MarkdownPipedToSymfonyConsoleFormatterTest.php index b1f15881..d990ae57 100644 --- a/test/unit/Formatter/MarkdownPipedToSymfonyConsoleFormatterTest.php +++ b/test/unit/Formatter/MarkdownPipedToSymfonyConsoleFormatterTest.php @@ -5,13 +5,14 @@ namespace RoaveTest\BackwardCompatibility\Formatter; use Exception; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Change; use Roave\BackwardCompatibility\Changes; use Roave\BackwardCompatibility\Formatter\MarkdownPipedToSymfonyConsoleFormatter; use Symfony\Component\Console\Output\OutputInterface; -/** @covers \Roave\BackwardCompatibility\Formatter\MarkdownPipedToSymfonyConsoleFormatter */ +#[CoversClass(MarkdownPipedToSymfonyConsoleFormatter::class)] final class MarkdownPipedToSymfonyConsoleFormatterTest extends TestCase { public function testWrite(): void diff --git a/test/unit/Formatter/ReflectionPropertyNameTest.php b/test/unit/Formatter/ReflectionPropertyNameTest.php index ac72edea..015b39f9 100644 --- a/test/unit/Formatter/ReflectionPropertyNameTest.php +++ b/test/unit/Formatter/ReflectionPropertyNameTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\Formatter; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Formatter\ReflectionPropertyName; use Roave\BetterReflection\BetterReflection; @@ -15,10 +17,10 @@ use function array_keys; use function array_map; -/** @covers \Roave\BackwardCompatibility\Formatter\ReflectionPropertyName */ +#[CoversClass(ReflectionPropertyName::class)] final class ReflectionPropertyNameTest extends TestCase { - /** @dataProvider propertiesToBeTested */ + #[DataProvider('propertiesToBeTested')] public function testName(ReflectionProperty $property, string $expectedName): void { self::assertSame($expectedName, (new ReflectionPropertyName())($property)); diff --git a/test/unit/Formatter/SymbolStartTest.php b/test/unit/Formatter/SymbolStartTest.php index 699c6f28..a221ea5d 100644 --- a/test/unit/Formatter/SymbolStartTest.php +++ b/test/unit/Formatter/SymbolStartTest.php @@ -6,6 +6,7 @@ use BadMethodCallException; use PhpParser\Node\Stmt\Function_; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Formatter\SymbolStart; use Roave\BetterReflection\BetterReflection; @@ -19,7 +20,7 @@ use Roave\BetterReflection\SourceLocator\Type\SourceLocator; use Roave\BetterReflection\SourceLocator\Type\StringSourceLocator; -/** @covers \Roave\BackwardCompatibility\Formatter\SymbolStart */ +#[CoversClass(SymbolStart::class)] final class SymbolStartTest extends TestCase { public function testCanGetStartColumnForSimpleSymbol(): void diff --git a/test/unit/Formatter/SymfonyConsoleTextFormatterTest.php b/test/unit/Formatter/SymfonyConsoleTextFormatterTest.php index 55f410a4..f0514d12 100644 --- a/test/unit/Formatter/SymfonyConsoleTextFormatterTest.php +++ b/test/unit/Formatter/SymfonyConsoleTextFormatterTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\Formatter; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Psl\SecureRandom; use Psl\Str; @@ -15,7 +16,7 @@ use const PHP_EOL; -/** @covers \Roave\BackwardCompatibility\Formatter\SymfonyConsoleTextFormatter */ +#[CoversClass(SymfonyConsoleTextFormatter::class)] final class SymfonyConsoleTextFormatterTest extends TestCase { /** @throws ReflectionException */ diff --git a/test/unit/Git/CheckedOutRepositoryTest.php b/test/unit/Git/CheckedOutRepositoryTest.php index b6a0c492..ee17fc6c 100644 --- a/test/unit/Git/CheckedOutRepositoryTest.php +++ b/test/unit/Git/CheckedOutRepositoryTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\Git; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Psl\Env; use Psl\Exception\InvariantViolationException; @@ -11,7 +12,7 @@ use Psl\SecureRandom; use Roave\BackwardCompatibility\Git\CheckedOutRepository; -/** @covers \Roave\BackwardCompatibility\Git\CheckedOutRepository */ +#[CoversClass(CheckedOutRepository::class)] final class CheckedOutRepositoryTest extends TestCase { public function testFromPath(): void diff --git a/test/unit/Git/GetVersionCollectionFromGitRepositoryTest.php b/test/unit/Git/GetVersionCollectionFromGitRepositoryTest.php index 7ac04509..b4e90bc1 100644 --- a/test/unit/Git/GetVersionCollectionFromGitRepositoryTest.php +++ b/test/unit/Git/GetVersionCollectionFromGitRepositoryTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\Git; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Psl\Dict; use Psl\Env; @@ -16,7 +17,7 @@ use Roave\BackwardCompatibility\Git\GetVersionCollectionFromGitRepository; use Version\Version; -/** @covers \Roave\BackwardCompatibility\Git\GetVersionCollectionFromGitRepository */ +#[CoversClass(GetVersionCollectionFromGitRepository::class)] final class GetVersionCollectionFromGitRepositoryTest extends TestCase { private CheckedOutRepository $repoPath; diff --git a/test/unit/Git/GitCheckoutRevisionToTemporaryPathTest.php b/test/unit/Git/GitCheckoutRevisionToTemporaryPathTest.php index f1bc1d50..68bf62f1 100644 --- a/test/unit/Git/GitCheckoutRevisionToTemporaryPathTest.php +++ b/test/unit/Git/GitCheckoutRevisionToTemporaryPathTest.php @@ -4,6 +4,7 @@ namespace RoaveTest\BackwardCompatibility\Git; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Psl\Env; use Psl\File; @@ -15,7 +16,7 @@ use Roave\BackwardCompatibility\Git\Revision; use RuntimeException; -/** @covers \Roave\BackwardCompatibility\Git\GitCheckoutRevisionToTemporaryPath */ +#[CoversClass(GitCheckoutRevisionToTemporaryPath::class)] final class GitCheckoutRevisionToTemporaryPathTest extends TestCase { private const TEST_REVISION_TO_CHECKOUT = '428327492a803b6e0c612b157a67a50a47275461'; diff --git a/test/unit/Git/GitParseRevisionTest.php b/test/unit/Git/GitParseRevisionTest.php index e269683c..ceb16814 100644 --- a/test/unit/Git/GitParseRevisionTest.php +++ b/test/unit/Git/GitParseRevisionTest.php @@ -4,11 +4,13 @@ namespace RoaveTest\BackwardCompatibility\Git; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Git\CheckedOutRepository; use Roave\BackwardCompatibility\Git\GitParseRevision; -/** @covers \Roave\BackwardCompatibility\Git\GitParseRevision */ +#[CoversClass(GitParseRevision::class)] final class GitParseRevisionTest extends TestCase { /** @return string[][] */ @@ -19,7 +21,7 @@ public static function revisionProvider(): array ]; } - /** @dataProvider revisionProvider */ + #[DataProvider('revisionProvider')] public function testFromStringForRepository(string $revisionToBeParsed, string $expectedRevision): void { self::assertSame( diff --git a/test/unit/Git/PickLastVersionFromCollectionTest.php b/test/unit/Git/PickLastVersionFromCollectionTest.php index 82058600..92df2fdd 100644 --- a/test/unit/Git/PickLastVersionFromCollectionTest.php +++ b/test/unit/Git/PickLastVersionFromCollectionTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\Git; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Psl\Exception\InvariantViolationException; use Psl\Type; @@ -13,7 +15,7 @@ use function array_map; -/** @covers \Roave\BackwardCompatibility\Git\PickLastVersionFromCollection */ +#[CoversClass(PickLastVersionFromCollection::class)] final class PickLastVersionFromCollectionTest extends TestCase { /** @@ -39,11 +41,8 @@ public static function lastStableVersionForCollectionProvider(): array ]; } - /** - * @param string[] $collectionOfVersions - * - * @dataProvider lastStableVersionForCollectionProvider - */ + /** @param string[] $collectionOfVersions */ + #[DataProvider('lastStableVersionForCollectionProvider')] public function testForRepository(string $expectedVersion, array $collectionOfVersions): void { self::assertSame( diff --git a/test/unit/Git/RevisionTest.php b/test/unit/Git/RevisionTest.php index 0b11b61b..5938a095 100644 --- a/test/unit/Git/RevisionTest.php +++ b/test/unit/Git/RevisionTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\Git; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Psl\Exception\InvariantViolationException; use Psl\Hash; @@ -11,7 +13,7 @@ use Psl\Str; use Roave\BackwardCompatibility\Git\Revision; -/** @covers \Roave\BackwardCompatibility\Git\Revision */ +#[CoversClass(Revision::class)] final class RevisionTest extends TestCase { public function testFromSha1WithValidSha1(): void @@ -45,7 +47,7 @@ public static function invalidRevisionProvider(): array ]; } - /** @dataProvider invalidRevisionProvider */ + #[DataProvider('invalidRevisionProvider')] public function testInvalidSha1Rejected(string $invalidRevision): void { $this->expectException(InvariantViolationException::class); diff --git a/test/unit/LocateDependencies/LocateDependenciesViaComposerTest.php b/test/unit/LocateDependencies/LocateDependenciesViaComposerTest.php index a54ad6db..198b5845 100644 --- a/test/unit/LocateDependencies/LocateDependenciesViaComposerTest.php +++ b/test/unit/LocateDependencies/LocateDependenciesViaComposerTest.php @@ -5,6 +5,7 @@ namespace RoaveTest\BackwardCompatibility\LocateDependencies; use Composer\Installer; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Psl\Env; @@ -19,7 +20,7 @@ use Roave\BetterReflection\SourceLocator\Type\PhpInternalSourceLocator; use Roave\BetterReflection\SourceLocator\Type\SourceLocator; -/** @covers \Roave\BackwardCompatibility\LocateDependencies\LocateDependenciesViaComposer */ +#[CoversClass(LocateDependenciesViaComposer::class)] final class LocateDependenciesViaComposerTest extends TestCase { private string $originalCwd; diff --git a/test/unit/LocateSources/LocateSourcesViaComposerJsonTest.php b/test/unit/LocateSources/LocateSourcesViaComposerJsonTest.php index 10d76ce1..82c76fc9 100644 --- a/test/unit/LocateSources/LocateSourcesViaComposerJsonTest.php +++ b/test/unit/LocateSources/LocateSourcesViaComposerJsonTest.php @@ -4,12 +4,13 @@ namespace RoaveTest\BackwardCompatibility\LocateSources; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\LocateSources\LocateSourcesViaComposerJson; use Roave\BetterReflection\BetterReflection; use Roave\BetterReflection\Reflector\DefaultReflector; -/** @covers \Roave\BackwardCompatibility\LocateSources\LocateSourcesViaComposerJson */ +#[CoversClass(LocateSourcesViaComposerJson::class)] final class LocateSourcesViaComposerJsonTest extends TestCase { private LocateSourcesViaComposerJson $locateSources; diff --git a/test/unit/SourceLocator/LocatedSourceWithStrippedSourcesDirectoryTest.php b/test/unit/SourceLocator/LocatedSourceWithStrippedSourcesDirectoryTest.php index 114a045a..481260ea 100644 --- a/test/unit/SourceLocator/LocatedSourceWithStrippedSourcesDirectoryTest.php +++ b/test/unit/SourceLocator/LocatedSourceWithStrippedSourcesDirectoryTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\SourceLocator; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use ReflectionClass; use ReflectionMethod; @@ -14,10 +16,10 @@ use function array_filter; use function array_map; -/** @covers \Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory */ +#[CoversClass(LocatedSourceWithStrippedSourcesDirectory::class)] final class LocatedSourceWithStrippedSourcesDirectoryTest extends TestCase { - /** @dataProvider verifiedPaths */ + #[DataProvider('verifiedPaths')] public function testWillStripPrefixFilePathWhenLocatedSourceInConfiguredPath( string $sourcePath, string $strippedSourcesPath, @@ -155,9 +157,8 @@ public function testWillGetAliasNameFromGivenLocatedSource(): void /** * This test makes sure that we didn't forget to override any public API of {@see LocatedSource} - * - * @dataProvider methodsDeclaredByLocatedSource */ + #[DataProvider('methodsDeclaredByLocatedSource')] public function testAllMethodsOfOriginalLocatedSourceAreOverridden(ReflectionMethod $method): void { self::assertSame( diff --git a/test/unit/SourceLocator/ReplaceSourcePathOfLocatedSourcesTest.php b/test/unit/SourceLocator/ReplaceSourcePathOfLocatedSourcesTest.php index b1ab712a..e25427ac 100644 --- a/test/unit/SourceLocator/ReplaceSourcePathOfLocatedSourcesTest.php +++ b/test/unit/SourceLocator/ReplaceSourcePathOfLocatedSourcesTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\SourceLocator; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use ReflectionClass; use ReflectionMethod; @@ -20,7 +22,7 @@ use function array_filter; use function array_map; -/** @covers \Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources */ +#[CoversClass(ReplaceSourcePathOfLocatedSources::class)] final class ReplaceSourcePathOfLocatedSourcesTest extends TestCase { public function testWillWrapFoundReflection(): void @@ -73,9 +75,8 @@ public function testWillWrapFoundReflectionsOfType(): void /** * This test makes sure that we didn't forget to override any public API of {@see ReplaceSourcePathOfLocatedSources} - * - * @dataProvider methodsDeclaredByReplaceSourcePathOfLocatedSources */ + #[DataProvider('methodsDeclaredByReplaceSourcePathOfLocatedSources')] public function testAllMethodsOfBaseClassAreOverridden(ReflectionMethod $method): void { self::assertSame( diff --git a/test/unit/SourceLocator/StaticClassMapSourceLocatorTest.php b/test/unit/SourceLocator/StaticClassMapSourceLocatorTest.php index 7feab343..d82820a8 100644 --- a/test/unit/SourceLocator/StaticClassMapSourceLocatorTest.php +++ b/test/unit/SourceLocator/StaticClassMapSourceLocatorTest.php @@ -4,6 +4,8 @@ namespace RoaveTest\BackwardCompatibility\SourceLocator; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Psl\Exception\InvariantViolationException; @@ -17,7 +19,7 @@ use Roave\BetterReflection\SourceLocator\Ast\Locator; use Roave\BetterReflection\SourceLocator\Located\LocatedSource; -/** @covers \Roave\BackwardCompatibility\SourceLocator\StaticClassMapSourceLocator */ +#[CoversClass(StaticClassMapSourceLocator::class)] final class StaticClassMapSourceLocatorTest extends TestCase { /** @var Locator&MockObject */ @@ -65,11 +67,8 @@ public function testAcceptsEmptySet(): void )); } - /** - * @param non-empty-string $thisClassFilePath - * - * @dataProvider thisClassPossiblePaths - */ + /** @param non-empty-string $thisClassFilePath */ + #[DataProvider('thisClassPossiblePaths')] public function testWillLocateThisClass(string $thisClassFilePath): void { $locator = new StaticClassMapSourceLocator([self::class => $thisClassFilePath], $this->astLocator); From 308f4ed478c330aa89a1f13358f82680ed08da98 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Mon, 27 Jan 2025 04:05:35 +0100 Subject: [PATCH 3/8] Removed unsafe `json_encode()` call --- src/Formatter/JsonFormatter.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Formatter/JsonFormatter.php b/src/Formatter/JsonFormatter.php index 19daa775..f9e24c39 100644 --- a/src/Formatter/JsonFormatter.php +++ b/src/Formatter/JsonFormatter.php @@ -9,7 +9,7 @@ use Roave\BackwardCompatibility\Git\CheckedOutRepository; use Symfony\Component\Console\Output\OutputInterface; -use function json_encode; +use function Psl\Json\encode; /** @internal */ final class JsonFormatter implements OutputFormatter @@ -34,6 +34,6 @@ public function write(Changes $changes): void ]; } - $this->output->writeln(json_encode(['errors' => $result])); + $this->output->writeln(encode(['errors' => $result])); } } From 2870fa09e983f134bfb81d40cf682e38083f8f3f Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Mon, 27 Jan 2025 04:08:19 +0100 Subject: [PATCH 4/8] Upgrading `laminas/*` CI actions, to get newer PHP 8.4 version installed --- .github/workflows/continuous-integration.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index a95d36bc..eb0d9d78 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Gather CI configuration id: matrix - uses: laminas/laminas-ci-matrix-action@1.26.0 + uses: laminas/laminas-ci-matrix-action@1.29.0 qa: name: QA Checks @@ -27,7 +27,7 @@ jobs: matrix: ${{ fromJSON(needs.matrix.outputs.matrix) }} steps: - name: ${{ matrix.name }} - uses: laminas/laminas-continuous-integration-action@1.39.0 + uses: laminas/laminas-continuous-integration-action@1.40.1 env: "GITHUB_TOKEN": ${{ secrets.GITHUB_TOKEN }} "INFECTION_DASHBOARD_API_KEY": ${{ secrets.INFECTION_DASHBOARD_API_KEY }} From ad0246213378b1b78175734ec42bcb82bbee6491 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Thu, 6 Feb 2025 11:32:09 +0100 Subject: [PATCH 5/8] Bumped all minimum dependency versions --- composer.json | 16 ++++++++-------- composer.lock | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/composer.json b/composer.json index cc949992..8feb3ab3 100644 --- a/composer.json +++ b/composer.json @@ -7,13 +7,13 @@ "ext-json": "*", "ext-libxml": "*", "ext-simplexml": "*", - "azjezz/psl": "^3.0.2", - "composer/composer": "^2.7.6", + "azjezz/psl": "^3.2.0", + "composer/composer": "^2.8.5", "nikic/php-parser": "^5.4.0", "nikolaposa/version": "^4.2.0", - "ocramius/package-versions": "^2.8.0", - "roave/better-reflection": "^6.26.0", - "symfony/console": "^7.0.7" + "ocramius/package-versions": "^2.10.0", + "roave/better-reflection": "^6.54.0", + "symfony/console": "^7.2.1" }, "license": "MIT", "authors": [ @@ -30,12 +30,12 @@ "doctrine/coding-standard": "^12.0.0", "estahn/phpunit-json-assertions": "^4.0", "php-standard-library/psalm-plugin": "^2.3.0", - "phpunit/phpunit": "^11.5.3", + "phpunit/phpunit": "^11.5.6", "psalm/plugin-phpunit": "^0.19.2", "roave/infection-static-analysis-plugin": "^1.36.0", "roave/security-advisories": "dev-master", - "squizlabs/php_codesniffer": "^3.10.0", - "vimeo/psalm": "^6.0.0" + "squizlabs/php_codesniffer": "^3.11.3", + "vimeo/psalm": "^6.4.0" }, "conflict": { "revolt/event-loop": "<0.2.5", diff --git a/composer.lock b/composer.lock index dff73d37..a387b9b5 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "aab0c94a7070e4483c9908f746f12fff", + "content-hash": "ee01a22c85b807616c8863ec5d454720", "packages": [ { "name": "azjezz/psl", From 5cb1e21a3e0918cfc547d5b3c2994ad8401a1c34 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Thu, 6 Feb 2025 11:40:02 +0100 Subject: [PATCH 6/8] Bumped to `laminas/laminas-continuous-integration-action@1.41.0` This should give us PHP 8.4.1 or newer --- .github/workflows/continuous-integration.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index eb0d9d78..46773aaf 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -27,7 +27,7 @@ jobs: matrix: ${{ fromJSON(needs.matrix.outputs.matrix) }} steps: - name: ${{ matrix.name }} - uses: laminas/laminas-continuous-integration-action@1.40.1 + uses: laminas/laminas-continuous-integration-action@1.41.0 env: "GITHUB_TOKEN": ${{ secrets.GITHUB_TOKEN }} "INFECTION_DASHBOARD_API_KEY": ${{ secrets.INFECTION_DASHBOARD_API_KEY }} From 91d841ad1c4f31c1de66247c3000d085c3e3b595 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Thu, 6 Feb 2025 11:59:37 +0100 Subject: [PATCH 7/8] Migrated new tests to PHPUnit 11 metadata --- test/unit/Configuration/ConfigurationTest.php | 3 +- .../ParseXmlConfigurationFileTest.php | 28 +++++++++---------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/test/unit/Configuration/ConfigurationTest.php b/test/unit/Configuration/ConfigurationTest.php index 4510fb44..4d5e8d4f 100644 --- a/test/unit/Configuration/ConfigurationTest.php +++ b/test/unit/Configuration/ConfigurationTest.php @@ -4,11 +4,12 @@ namespace RoaveTest\BackwardCompatibility\Configuration; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; use Roave\BackwardCompatibility\Baseline; use Roave\BackwardCompatibility\Configuration\Configuration; -/** @covers \Roave\BackwardCompatibility\Configuration\Configuration */ +#[CoversClass(Configuration::class)] final class ConfigurationTest extends TestCase { public function testBaselineShouldBeEmptyForDefaultConfiguration(): void diff --git a/test/unit/Configuration/ParseXmlConfigurationFileTest.php b/test/unit/Configuration/ParseXmlConfigurationFileTest.php index 661fb51a..56cb8463 100644 --- a/test/unit/Configuration/ParseXmlConfigurationFileTest.php +++ b/test/unit/Configuration/ParseXmlConfigurationFileTest.php @@ -4,6 +4,10 @@ namespace RoaveTest\BackwardCompatibility\Configuration; +use PHPUnit\Framework\Attributes\After; +use PHPUnit\Framework\Attributes\Before; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Psl\Env; use Psl\File; @@ -14,11 +18,12 @@ use Roave\BackwardCompatibility\Configuration\InvalidConfigurationStructure; use Roave\BackwardCompatibility\Configuration\ParseXmlConfigurationFile; +#[CoversClass(ParseXmlConfigurationFile::class)] final class ParseXmlConfigurationFileTest extends TestCase { private string $temporaryDirectory; - /** @before */ + #[Before] public function prepareFilesystem(): void { $this->temporaryDirectory = Filesystem\create_temporary_file( @@ -33,25 +38,22 @@ public function prepareFilesystem(): void Filesystem\create_directory($this->temporaryDirectory); } - /** @after */ + #[After] public function cleanUpFilesystem(): void { Shell\execute('rm', ['-rf', $this->temporaryDirectory]); } - /** @test */ - public function defaultConfigurationShouldBeUsedWhenFileDoesNotExist(): void + public function testDefaultConfigurationShouldBeUsedWhenFileDoesNotExist(): void { $config = (new ParseXmlConfigurationFile())->parse($this->temporaryDirectory); self::assertEquals(Configuration::default(), $config); } - /** - * @test - * @dataProvider invalidConfiguration - */ - public function exceptionShouldBeRaisedWhenStructureIsInvalid( + /** @dataProvider invalidConfiguration */ + #[DataProvider('invalidConfiguration')] + public function testExceptionShouldBeRaisedWhenStructureIsInvalid( string $xmlContents, string $expectedError, ): void { @@ -122,11 +124,9 @@ public static function invalidConfiguration(): iterable ]; } - /** - * @test - * @dataProvider validConfiguration - */ - public function baselineShouldBeParsed( + /** @dataProvider validConfiguration */ + #[DataProvider('validConfiguration')] + public function testBaselineShouldBeParsed( string $xmlContents, Baseline $expectedBaseline, ): void { From ef5fe2b169eb8804baf6fb1ac7150fe02898c56a Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Thu, 6 Feb 2025 12:11:27 +0100 Subject: [PATCH 8/8] Skip running PHPUnit tests on `php:8.4` with lowest dependencies Some dependencies currently raise deprecation warnings there: * `shish/safe:2.6.0` (`2.6.4` was released) * `beberlei/assert:3.3.0` (`3.3.3` was released) Adding a `conflict` clause is viable, but way too aggressive, and propagates through the dependency graph here. The package works with these, but with deprecations. --- .laminas-ci.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.laminas-ci.json b/.laminas-ci.json index 091ebf00..afd72e70 100644 --- a/.laminas-ci.json +++ b/.laminas-ci.json @@ -6,7 +6,8 @@ "memory_limit=-1" ], "exclude": [ - {"name": "Infection"} + {"name": "Infection"}, + {"name": "PHPUnit [8.4, lowest]"} ], "additional_checks": [ {