diff --git a/.gitignore b/.gitignore index d5189bd..45fd006 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ /.phpcs-cache -/.phpunit.result.cache +/.phpunit.cache /.psalm-cache/ /clover.xml /coveralls-upload.json diff --git a/composer.json b/composer.json index 963b5bf..9619198 100644 --- a/composer.json +++ b/composer.json @@ -38,7 +38,7 @@ "composer/composer": "^2.6.4", "laminas/laminas-coding-standard": "~2.5.0", "mikey179/vfsstream": "^1.6.11", - "phpunit/phpunit": "^9.5.26", + "phpunit/phpunit": "^10.4", "psalm/plugin-phpunit": "^0.18.0", "vimeo/psalm": "^5.15.0", "webmozart/assert": "^1.11.0" diff --git a/composer.lock b/composer.lock index fe14401..e961941 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": "e5f5edc3f95ab23e0f2a5a4038c1b2df", + "content-hash": "f3b0c1df4017519d6065dac3c814e01e", "packages": [], "packages-dev": [ { @@ -988,76 +988,6 @@ }, "time": "2019-12-04T15:06:13+00:00" }, - { - "name": "doctrine/instantiator", - "version": "1.5.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9 || ^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.16 || ^1", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-phpunit": "^1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.30 || ^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.5.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2022-12-30T00:15:36+00:00" - }, { "name": "felixfbecker/advanced-json-rpc", "version": "v3.2.1", @@ -1885,16 +1815,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.29", + "version": "10.1.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" + "reference": "84838eed9ded511f61dc3e8b5944a52d9017b297" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/84838eed9ded511f61dc3e8b5944a52d9017b297", + "reference": "84838eed9ded511f61dc3e8b5944a52d9017b297", "shasum": "" }, "require": { @@ -1902,18 +1832,18 @@ "ext-libxml": "*", "ext-xmlwriter": "*", "nikic/php-parser": "^4.15", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", + "php": ">=8.1", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-text-template": "^3.0", + "sebastian/code-unit-reverse-lookup": "^3.0", + "sebastian/complexity": "^3.0", + "sebastian/environment": "^6.0", + "sebastian/lines-of-code": "^2.0", + "sebastian/version": "^4.0", "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.1" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -1922,7 +1852,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-main": "10.1-dev" } }, "autoload": { @@ -1951,7 +1881,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/9.2.29" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.8" }, "funding": [ { @@ -1959,32 +1889,32 @@ "type": "github" } ], - "time": "2023-09-19T04:57:46+00:00" + "time": "2023-11-15T13:31:15+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "3.0.6", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -2011,7 +1941,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" }, "funding": [ { @@ -2019,28 +1950,28 @@ "type": "github" } ], - "time": "2021-12-02T12:48:52+00:00" + "time": "2023-08-31T06:24:48+00:00" }, { "name": "phpunit/php-invoker", - "version": "3.1.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "suggest": { "ext-pcntl": "*" @@ -2048,7 +1979,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -2074,7 +2005,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" }, "funding": [ { @@ -2082,32 +2013,32 @@ "type": "github" } ], - "time": "2020-09-28T05:58:55+00:00" + "time": "2023-02-03T06:56:09+00:00" }, { "name": "phpunit/php-text-template", - "version": "2.0.4", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -2133,7 +2064,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" }, "funding": [ { @@ -2141,32 +2073,32 @@ "type": "github" } ], - "time": "2020-10-26T05:33:50+00:00" + "time": "2023-08-31T14:07:24+00:00" }, { "name": "phpunit/php-timer", - "version": "5.0.3", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -2192,7 +2124,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" }, "funding": [ { @@ -2200,24 +2132,23 @@ "type": "github" } ], - "time": "2020-10-26T13:16:10+00:00" + "time": "2023-02-03T06:57:52+00:00" }, { "name": "phpunit/phpunit", - "version": "9.6.13", + "version": "10.4.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be" + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be", - "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", @@ -2227,27 +2158,26 @@ "myclabs/deep-copy": "^1.10.1", "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.28", - "phpunit/php-file-iterator": "^3.0.5", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", - "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", - "sebastian/version": "^3.0.2" + "php": ">=8.1", + "phpunit/php-code-coverage": "^10.1.5", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-invoker": "^4.0", + "phpunit/php-text-template": "^3.0", + "phpunit/php-timer": "^6.0", + "sebastian/cli-parser": "^2.0", + "sebastian/code-unit": "^2.0", + "sebastian/comparator": "^5.0", + "sebastian/diff": "^5.0", + "sebastian/environment": "^6.0", + "sebastian/exporter": "^5.1", + "sebastian/global-state": "^6.0.1", + "sebastian/object-enumerator": "^5.0", + "sebastian/recursion-context": "^5.0", + "sebastian/type": "^4.0", + "sebastian/version": "^4.0" }, "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + "ext-soap": "To be able to generate mocks based on WSDL files" }, "bin": [ "phpunit" @@ -2255,7 +2185,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.6-dev" + "dev-main": "10.4-dev" } }, "autoload": { @@ -2287,7 +2217,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.4.2" }, "funding": [ { @@ -2303,7 +2233,7 @@ "type": "tidelift" } ], - "time": "2023-09-19T05:39:22+00:00" + "time": "2023-10-26T07:21:45+00:00" }, { "name": "psalm/plugin-phpunit", @@ -2543,28 +2473,28 @@ }, { "name": "sebastian/cli-parser", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -2587,7 +2517,7 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" }, "funding": [ { @@ -2595,32 +2525,32 @@ "type": "github" } ], - "time": "2020-09-28T06:08:49+00:00" + "time": "2023-02-03T06:58:15+00:00" }, { "name": "sebastian/code-unit", - "version": "1.0.8", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -2643,7 +2573,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" }, "funding": [ { @@ -2651,32 +2581,32 @@ "type": "github" } ], - "time": "2020-10-26T13:08:54+00:00" + "time": "2023-02-03T06:58:43+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -2698,7 +2628,7 @@ "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/2.0.3" + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" }, "funding": [ { @@ -2706,34 +2636,36 @@ "type": "github" } ], - "time": "2020-09-28T05:30:19+00:00" + "time": "2023-02-03T06:59:15+00:00" }, { "name": "sebastian/comparator", - "version": "4.0.8", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + "reference": "2db5010a484d53ebf536087a70b4a5423c102372" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", + "reference": "2db5010a484d53ebf536087a70b4a5423c102372", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/diff": "^5.0", + "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -2772,7 +2704,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" }, "funding": [ { @@ -2780,33 +2713,33 @@ "type": "github" } ], - "time": "2022-09-14T12:41:17+00:00" + "time": "2023-08-14T13:18:12+00:00" }, { "name": "sebastian/complexity", - "version": "2.0.2", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957", + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957", "shasum": "" }, "require": { - "nikic/php-parser": "^4.7", - "php": ">=7.3" + "nikic/php-parser": "^4.10", + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.1-dev" } }, "autoload": { @@ -2829,7 +2762,8 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0" }, "funding": [ { @@ -2837,33 +2771,33 @@ "type": "github" } ], - "time": "2020-10-26T15:52:27+00:00" + "time": "2023-09-28T11:50:59+00:00" }, { "name": "sebastian/diff", - "version": "4.0.5", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" + "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b", + "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3", + "phpunit/phpunit": "^10.0", "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -2895,7 +2829,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3" }, "funding": [ { @@ -2903,27 +2838,27 @@ "type": "github" } ], - "time": "2023-05-07T05:35:17+00:00" + "time": "2023-05-01T07:48:21+00:00" }, { "name": "sebastian/environment", - "version": "5.1.5", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "suggest": { "ext-posix": "*" @@ -2931,7 +2866,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -2950,7 +2885,7 @@ } ], "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", + "homepage": "https://github.com/sebastianbergmann/environment", "keywords": [ "Xdebug", "environment", @@ -2958,7 +2893,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" }, "funding": [ { @@ -2966,34 +2902,34 @@ "type": "github" } ], - "time": "2023-02-03T06:03:51+00:00" + "time": "2023-04-11T05:39:26+00:00" }, { "name": "sebastian/exporter", - "version": "4.0.5", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/recursion-context": "^5.0" }, "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -3035,7 +2971,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" }, "funding": [ { @@ -3043,38 +2980,35 @@ "type": "github" } ], - "time": "2022-09-14T06:03:37+00:00" + "time": "2023-09-24T13:22:09+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.6", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bde739e7565280bda77be70044ac1047bc007e34" + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", - "reference": "bde739e7565280bda77be70044ac1047bc007e34", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-uopz": "*" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -3099,7 +3033,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" }, "funding": [ { @@ -3107,33 +3042,33 @@ "type": "github" } ], - "time": "2023-08-02T09:26:13+00:00" + "time": "2023-07-19T07:19:23+00:00" }, { "name": "sebastian/lines-of-code", - "version": "1.0.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/649e40d279e243d985aa8fb6e74dd5bb28dc185d", + "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d", "shasum": "" }, "require": { - "nikic/php-parser": "^4.6", - "php": ">=7.3" + "nikic/php-parser": "^4.10", + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -3156,7 +3091,8 @@ "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.1" }, "funding": [ { @@ -3164,34 +3100,34 @@ "type": "github" } ], - "time": "2020-11-28T06:42:11+00:00" + "time": "2023-08-31T09:25:50+00:00" }, { "name": "sebastian/object-enumerator", - "version": "4.0.4", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -3213,7 +3149,7 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" }, "funding": [ { @@ -3221,32 +3157,32 @@ "type": "github" } ], - "time": "2020-10-26T13:12:34+00:00" + "time": "2023-02-03T07:08:32+00:00" }, { "name": "sebastian/object-reflector", - "version": "2.0.4", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -3268,7 +3204,7 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" }, "funding": [ { @@ -3276,32 +3212,32 @@ "type": "github" } ], - "time": "2020-10-26T13:14:26+00:00" + "time": "2023-02-03T07:06:18+00:00" }, { "name": "sebastian/recursion-context", - "version": "4.0.5", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + "reference": "05909fb5bc7df4c52992396d0116aed689f93712" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -3331,62 +3267,7 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:07:39+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" }, "funding": [ { @@ -3394,32 +3275,32 @@ "type": "github" } ], - "time": "2020-09-28T06:45:17+00:00" + "time": "2023-02-03T07:05:40+00:00" }, { "name": "sebastian/type", - "version": "3.2.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.5" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -3442,7 +3323,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" }, "funding": [ { @@ -3450,29 +3331,29 @@ "type": "github" } ], - "time": "2023-02-03T06:13:03+00:00" + "time": "2023-02-03T07:10:45+00:00" }, { "name": "sebastian/version", - "version": "3.0.2", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -3495,7 +3376,7 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" }, "funding": [ { @@ -3503,7 +3384,7 @@ "type": "github" } ], - "time": "2020-09-28T06:39:44+00:00" + "time": "2023-02-07T11:34:05+00:00" }, { "name": "seld/jsonlint", diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 5cb9049..e39b9e5 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -3,17 +3,24 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd" bootstrap="vendor/autoload.php" - convertDeprecationsToExceptions="true" - colors="true"> + cacheDirectory=".phpunit.cache" + displayDetailsOnIncompleteTests="true" + displayDetailsOnSkippedTests="true" + displayDetailsOnTestsThatTriggerDeprecations="true" + displayDetailsOnTestsThatTriggerErrors="true" + displayDetailsOnTestsThatTriggerNotices="true" + displayDetailsOnTestsThatTriggerWarnings="true" + colors="true" +> ./test - + src - + diff --git a/psalm-baseline.xml b/psalm-baseline.xml index eb20cac..b6deee2 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -72,12 +72,6 @@ __construct - - - withConsecutive - withConsecutive - - new Collection([ diff --git a/test/ComponentInstallerTest.php b/test/ComponentInstallerTest.php index 7901534..db2c349 100644 --- a/test/ComponentInstallerTest.php +++ b/test/ComponentInstallerTest.php @@ -22,16 +22,20 @@ use Laminas\ComponentInstaller\ComponentInstaller; use org\bovigo\vfs\vfsStream; use org\bovigo\vfs\vfsStreamDirectory; +use PHPUnit\Framework\Constraint\Constraint; +use PHPUnit\Framework\Constraint\IsAnything; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use ReflectionObject; use function count; +use function current; use function dirname; use function file_get_contents; use function implode; use function method_exists; use function mkdir; +use function next; use function preg_match; use function preg_quote; use function sprintf; @@ -191,20 +195,40 @@ private function createOutputAssertions(array $informations): void $consecutiveArguments = []; foreach ($informations as $information) { - $consecutiveArguments[] = [ - self::callback(static function (string $argument) use ($information): bool { - return preg_match( - sprintf('/%s/', preg_quote($argument, '/')), - $information - ) !== false; - }), - ]; + $consecutiveArguments[] = self::callback(static function (string $argument) use ($information): bool { + return preg_match( + sprintf('/%s/', preg_quote($argument, '/')), + $information + ) !== false; + }); } + $consecutive = new class ($consecutiveArguments) extends Constraint { + /** + * @param list $assertions + */ + public function __construct(private array $assertions) + { + $this->assertions[] = new IsAnything(); + } + + public function matches(mixed $other): bool + { + $assertion = current($this->assertions); + next($this->assertions); + return $assertion->matches($other); + } + + public function toString(): string + { + return current($this->assertions)->toString(); + } + }; + $this->io ->expects(self::exactly(count($consecutiveArguments))) ->method('write') - ->withConsecutive(...$consecutiveArguments); + ->with($consecutive); } /** @@ -214,22 +238,46 @@ private function createInputAssertions(array $questionsAssertions): void { $consecutiveReturnValues = $consecutiveArguments = []; foreach ($questionsAssertions as $questionAssertion) { - $consecutiveArguments[] = [ - self::callback($questionAssertion->assertion()), - ]; + $consecutiveArguments[] = self::callback($questionAssertion->assertion()); $consecutiveReturnValues[] = $questionAssertion->expectedAnswer; if ($questionAssertion instanceof RememberedAnswerQuestionAssertion) { - $consecutiveArguments[] = [self::callback($questionAssertion->rememberAnswerAssertion())]; + $consecutiveArguments[] = self::callback($questionAssertion->rememberAnswerAssertion()); $consecutiveReturnValues[] = $questionAssertion->remember ? 'y' : 'n'; } } + $consecutive = new class ($consecutiveArguments) extends Constraint { + /** + * @param list $assertions + */ + public function __construct(private array $assertions) + { + $this->assertions[] = new IsAnything(); + } + + public function matches(mixed $other): bool + { + $assertion = current($this->assertions); + next($this->assertions); + return $assertion->matches($other); + } + + public function toString(): string + { + return current($this->assertions)->toString(); + } + }; + + $matcher = self::exactly(count($consecutiveReturnValues)); + $this->io - ->expects(self::exactly(count($consecutiveArguments))) + ->expects($matcher) ->method('ask') - ->withConsecutive(...$consecutiveArguments) - ->willReturnOnConsecutiveCalls(...$consecutiveReturnValues); + ->with($consecutive) + ->willReturnCallback(function () use ($matcher, $consecutiveReturnValues) { + return $consecutiveReturnValues[$matcher->numberOfInvocations() - 1]; + }); } /** @@ -332,7 +380,7 @@ public function getModuleDependencies() * 5: null|string * }> */ - public function dependency(): array + public static function dependency(): array { return [ // 'description' => [ @@ -706,7 +754,7 @@ public function getModuleDependencies() * 2: list * }> */ - public function modules(): array + public static function modules(): array { return [ // 'description' => [ @@ -1347,7 +1395,7 @@ public function testAppendModuleAndPrependComponent(): void * 1: array> * }> */ - public function moduleClass(): array + public static function moduleClass(): array { return [ [__DIR__ . '/TestAsset/ModuleBadlyFormatted.php', ['BadlyFormatted\Application' => ['Dependency1']]], @@ -1744,7 +1792,7 @@ public function testOnPostPackageInstallDoesNotPromptForIgnoredPackages(): void * non-empty-string * }> */ - public function injectorConfigProvider(): array + public static function injectorConfigProvider(): array { $config = <<<'CONFIG' * }> */ - public function packageUpdateScenarios(): Generator + public static function packageUpdateScenarios(): Generator { yield 'package introduces module' => [ [], // Initially installed application modules diff --git a/test/ConfigDiscovery/AbstractConfigAggregatorTestCase.php b/test/ConfigDiscovery/AbstractConfigAggregatorTestCase.php index 6d6eefc..018cc7b 100644 --- a/test/ConfigDiscovery/AbstractConfigAggregatorTestCase.php +++ b/test/ConfigDiscovery/AbstractConfigAggregatorTestCase.php @@ -46,7 +46,7 @@ public function testLocateReturnsFalseWhenFileDoesNotHaveExpectedContents(): voi * 0: string * }> */ - public function validMezzioConfigContents(): array + public static function validMezzioConfigContents(): array { // @codingStandardsIgnoreStart return [ diff --git a/test/ConfigDiscovery/ApplicationConfigTest.php b/test/ConfigDiscovery/ApplicationConfigTest.php index ccf64b1..66dfacb 100644 --- a/test/ConfigDiscovery/ApplicationConfigTest.php +++ b/test/ConfigDiscovery/ApplicationConfigTest.php @@ -41,7 +41,7 @@ public function testLocateReturnsFalseWhenFileDoesNotHaveExpectedContents(): voi /** * @psalm-return array */ - public function validApplicationConfigContents(): array + public static function validApplicationConfigContents(): array { return [ 'long-array' => ['<' . "?php\nreturn array(\n 'modules' => array(\n )\n);"], diff --git a/test/ConfigDiscovery/DevelopmentConfigTest.php b/test/ConfigDiscovery/DevelopmentConfigTest.php index c5966b6..00d8148 100644 --- a/test/ConfigDiscovery/DevelopmentConfigTest.php +++ b/test/ConfigDiscovery/DevelopmentConfigTest.php @@ -41,7 +41,7 @@ public function testLocateReturnsFalseWhenFileDoesNotHaveExpectedContents(): voi /** * @psalm-return array */ - public function validDevelopmentConfigContents(): array + public static function validDevelopmentConfigContents(): array { return [ 'long-array' => ['<' . "?php\nreturn array(\n 'modules' => array(\n )\n);"], diff --git a/test/ConfigDiscovery/MezzioConfigTest.php b/test/ConfigDiscovery/MezzioConfigTest.php index 7fc54e3..320f756 100644 --- a/test/ConfigDiscovery/MezzioConfigTest.php +++ b/test/ConfigDiscovery/MezzioConfigTest.php @@ -41,7 +41,7 @@ public function testLocateReturnsFalseWhenFileDoesNotHaveExpectedContents(): voi /** * @psalm-return array */ - public function validMezzioConfigContents(): array + public static function validMezzioConfigContents(): array { // @codingStandardsIgnoreStart return [ diff --git a/test/ConfigDiscovery/ModulesConfigTest.php b/test/ConfigDiscovery/ModulesConfigTest.php index 306777d..cb9dd28 100644 --- a/test/ConfigDiscovery/ModulesConfigTest.php +++ b/test/ConfigDiscovery/ModulesConfigTest.php @@ -41,7 +41,7 @@ public function testLocateReturnsFalseWhenFileDoesNotHaveExpectedContents(): voi /** * @psalm-return array */ - public function validModulesConfigContents(): array + public static function validModulesConfigContents(): array { return [ 'long-array' => ['<' . "?php\nreturn array(\n);"], diff --git a/test/Injector/AbstractConfigAggregatorInjectorTestCase.php b/test/Injector/AbstractConfigAggregatorInjectorTestCase.php index 12b6c31..743ffe7 100644 --- a/test/Injector/AbstractConfigAggregatorInjectorTestCase.php +++ b/test/Injector/AbstractConfigAggregatorInjectorTestCase.php @@ -21,12 +21,12 @@ abstract class AbstractConfigAggregatorInjectorTestCase extends AbstractInjector InjectorInterface::TYPE_CONFIG_PROVIDER, ]; - public function convertToShortArraySyntax(string $contents): string + public static function convertToShortArraySyntax(string $contents): string { return preg_replace('/array\(([^)]+)\)/s', '[$1]', $contents); } - public function allowedTypes(): array + public static function allowedTypes(): array { return [ 'config-provider' => [ConfigAggregatorInjector::TYPE_CONFIG_PROVIDER, true], @@ -35,7 +35,7 @@ public function allowedTypes(): array ]; } - public function injectComponentProvider(): array + public static function injectComponentProvider(): array { // phpcs:disable Generic.Files.LineLength.TooLong $baseContentsFqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-application-fqcn.config.php'); @@ -43,20 +43,20 @@ public function injectComponentProvider(): array $baseContentsImportLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-application-import.config.php'); $baseContentsImportLongArrayAltIndent = file_get_contents(__DIR__ . '/TestAsset/mezzio-application-import-alt-indent.config.php'); - $baseContentsFqcnShortArray = $this->convertToShortArraySyntax($baseContentsFqcnLongArray); - $baseContentsGloballyQualifiedShortArray = $this->convertToShortArraySyntax($baseContentsGloballyQualifiedLongArray); - $baseContentsImportShortArray = $this->convertToShortArraySyntax($baseContentsImportLongArray); - $baseContentsImportShortArrayAltIndent = $this->convertToShortArraySyntax($baseContentsImportLongArrayAltIndent); + $baseContentsFqcnShortArray = self::convertToShortArraySyntax($baseContentsFqcnLongArray); + $baseContentsGloballyQualifiedShortArray = self::convertToShortArraySyntax($baseContentsGloballyQualifiedLongArray); + $baseContentsImportShortArray = self::convertToShortArraySyntax($baseContentsImportLongArray); + $baseContentsImportShortArrayAltIndent = self::convertToShortArraySyntax($baseContentsImportLongArrayAltIndent); $expectedContentsFqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-populated-fqcn.config.php'); $expectedContentsGloballyQualifiedLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-populated-globally-qualified.config.php'); $expectedContentsImportLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-populated-import.config.php'); $expectedContentsImportLongArrayAltIndent = file_get_contents(__DIR__ . '/TestAsset/mezzio-populated-import-alt-indent.config.php'); - $expectedContentsFqcnShortArray = $this->convertToShortArraySyntax($expectedContentsFqcnLongArray); - $expectedContentsGloballyQualifiedShortArray = $this->convertToShortArraySyntax($expectedContentsGloballyQualifiedLongArray); - $expectedContentsImportShortArray = $this->convertToShortArraySyntax($expectedContentsImportLongArray); - $expectedContentsImportShortArrayAltIndent = $this->convertToShortArraySyntax($expectedContentsImportLongArrayAltIndent); + $expectedContentsFqcnShortArray = self::convertToShortArraySyntax($expectedContentsFqcnLongArray); + $expectedContentsGloballyQualifiedShortArray = self::convertToShortArraySyntax($expectedContentsGloballyQualifiedLongArray); + $expectedContentsImportShortArray = self::convertToShortArraySyntax($expectedContentsImportLongArray); + $expectedContentsImportShortArrayAltIndent = self::convertToShortArraySyntax($expectedContentsImportLongArrayAltIndent); $injectOnlyFirstOccurrenceInitial = file_get_contents(__DIR__ . '/TestAsset/mezzio-with-postprocessor.config.php'); $injectOnlyFirstOccurrenceExpected = file_get_contents(__DIR__ . '/TestAsset/mezzio-with-postprocessor-post-injection.config.php'); @@ -77,16 +77,16 @@ public function injectComponentProvider(): array // phpcs:enable } - public function packageAlreadyRegisteredProvider(): array + public static function packageAlreadyRegisteredProvider(): array { // phpcs:disable Generic.Files.LineLength.TooLong $fqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-populated-fqcn.config.php'); $globallyQualifiedLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-populated-globally-qualified.config.php'); $importLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-populated-import.config.php'); - $fqcnShortArray = $this->convertToShortArraySyntax($fqcnLongArray); - $globallyQualifiedShortArray = $this->convertToShortArraySyntax($globallyQualifiedLongArray); - $importShortArray = $this->convertToShortArraySyntax($importLongArray); + $fqcnShortArray = self::convertToShortArraySyntax($fqcnLongArray); + $globallyQualifiedShortArray = self::convertToShortArraySyntax($globallyQualifiedLongArray); + $importShortArray = self::convertToShortArraySyntax($importLongArray); return [ 'fqcn-long-array' => [$fqcnLongArray, ConfigAggregatorInjector::TYPE_CONFIG_PROVIDER], @@ -99,7 +99,7 @@ public function packageAlreadyRegisteredProvider(): array // phpcs:enable } - public function emptyConfiguration(): array + public static function emptyConfiguration(): array { // phpcs:disable Generic.Files.LineLength.TooLong $fqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-empty-fqcn.config.php'); @@ -107,9 +107,9 @@ public function emptyConfiguration(): array $importLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-empty-import.config.php'); // phpcs:enable - $fqcnShortArray = $this->convertToShortArraySyntax($fqcnLongArray); - $globallyQualifiedShortArray = $this->convertToShortArraySyntax($globallyQualifiedLongArray); - $importShortArray = $this->convertToShortArraySyntax($importLongArray); + $fqcnShortArray = self::convertToShortArraySyntax($fqcnLongArray); + $globallyQualifiedShortArray = self::convertToShortArraySyntax($globallyQualifiedLongArray); + $importShortArray = self::convertToShortArraySyntax($importLongArray); return [ 'fqcn-long-array' => [$fqcnLongArray], @@ -121,7 +121,7 @@ public function emptyConfiguration(): array ]; } - public function packagePopulatedInConfiguration(): array + public static function packagePopulatedInConfiguration(): array { // phpcs:disable Generic.Files.LineLength.TooLong $baseContentsFqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-populated-fqcn.config.php'); @@ -129,20 +129,20 @@ public function packagePopulatedInConfiguration(): array $baseContentsImportLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-populated-import.config.php'); $baseContentsImportLongArrayAltIndent = file_get_contents(__DIR__ . '/TestAsset/mezzio-populated-import-alt-indent.config.php'); - $baseContentsFqcnShortArray = $this->convertToShortArraySyntax($baseContentsFqcnLongArray); - $baseContentsGloballyQualifiedShortArray = $this->convertToShortArraySyntax($baseContentsGloballyQualifiedLongArray); - $baseContentsImportShortArray = $this->convertToShortArraySyntax($baseContentsImportLongArray); - $baseContentsImportShortArrayAltIndent = $this->convertToShortArraySyntax($baseContentsImportLongArrayAltIndent); + $baseContentsFqcnShortArray = self::convertToShortArraySyntax($baseContentsFqcnLongArray); + $baseContentsGloballyQualifiedShortArray = self::convertToShortArraySyntax($baseContentsGloballyQualifiedLongArray); + $baseContentsImportShortArray = self::convertToShortArraySyntax($baseContentsImportLongArray); + $baseContentsImportShortArrayAltIndent = self::convertToShortArraySyntax($baseContentsImportLongArrayAltIndent); $expectedContentsFqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-application-fqcn.config.php'); $expectedContentsGloballyQualifiedLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-application-globally-qualified.config.php'); $expectedContentsImportLongArray = file_get_contents(__DIR__ . '/TestAsset/mezzio-application-import.config.php'); $expectedContentsImportLongArrayAltIndent = file_get_contents(__DIR__ . '/TestAsset/mezzio-application-import-alt-indent.config.php'); - $expectedContentsFqcnShortArray = $this->convertToShortArraySyntax($expectedContentsFqcnLongArray); - $expectedContentsGloballyQualifiedShortArray = $this->convertToShortArraySyntax($expectedContentsGloballyQualifiedLongArray); - $expectedContentsImportShortArray = $this->convertToShortArraySyntax($expectedContentsImportLongArray); - $expectedContentsImportShortArrayAltIndent = $this->convertToShortArraySyntax($expectedContentsImportLongArrayAltIndent); + $expectedContentsFqcnShortArray = self::convertToShortArraySyntax($expectedContentsFqcnLongArray); + $expectedContentsGloballyQualifiedShortArray = self::convertToShortArraySyntax($expectedContentsGloballyQualifiedLongArray); + $expectedContentsImportShortArray = self::convertToShortArraySyntax($expectedContentsImportLongArray); + $expectedContentsImportShortArrayAltIndent = self::convertToShortArraySyntax($expectedContentsImportLongArrayAltIndent); return [ 'fqcn-long-array' => [$baseContentsFqcnLongArray, $expectedContentsFqcnLongArray], diff --git a/test/Injector/AbstractInjectorTestCase.php b/test/Injector/AbstractInjectorTestCase.php index 295d4d7..806801b 100644 --- a/test/Injector/AbstractInjectorTestCase.php +++ b/test/Injector/AbstractInjectorTestCase.php @@ -52,7 +52,7 @@ protected function setUp(): void * * @psalm-return array */ - abstract public function allowedTypes(): array; + abstract public static function allowedTypes(): array; /** * @psalm-param InjectorInterface::TYPE_* $type @@ -71,7 +71,7 @@ public function testGetTypesAllowedReturnsListOfAllExpectedTypes(): void /** * @psalm-return array */ - abstract public function injectComponentProvider(): array; + abstract public static function injectComponentProvider(): array; /** * @psalm-param InjectorInterface::TYPE_* $type @@ -96,7 +96,7 @@ public function testInjectAddsPackageToModulesListInAppropriateLocation( /** * @psalm-return array */ - abstract public function packageAlreadyRegisteredProvider(): array; + abstract public static function packageAlreadyRegisteredProvider(): array; /** * @param InjectorInterface::TYPE_* $type @@ -118,7 +118,7 @@ public function testInjectDoesNotModifyContentsIfPackageIsAlreadyRegistered(stri /** * @psalm-return array */ - abstract public function emptyConfiguration(): array; + abstract public static function emptyConfiguration(): array; /** * @dataProvider emptyConfiguration @@ -136,7 +136,7 @@ public function testRemoveDoesNothingIfPackageIsNotInConfigFile(string $contents /** * @psalm-return array */ - abstract public function packagePopulatedInConfiguration(): array; + abstract public static function packagePopulatedInConfiguration(): array; /** * @dataProvider packagePopulatedInConfiguration diff --git a/test/Injector/ApplicationConfigInjectorTest.php b/test/Injector/ApplicationConfigInjectorTest.php index 2409711..a4ea692 100644 --- a/test/Injector/ApplicationConfigInjectorTest.php +++ b/test/Injector/ApplicationConfigInjectorTest.php @@ -29,7 +29,7 @@ class ApplicationConfigInjectorTest extends AbstractInjectorTestCase InjectorInterface::TYPE_BEFORE_APPLICATION, ]; - public function allowedTypes(): array + public static function allowedTypes(): array { return [ 'config-provider' => [InjectorInterface::TYPE_CONFIG_PROVIDER, false], @@ -40,7 +40,7 @@ public function allowedTypes(): array ]; } - public function injectComponentProvider(): array + public static function injectComponentProvider(): array { // phpcs:disable Generic.Files.LineLength.TooLong $baseContentsLongArray = '<' . "?php\nreturn array(\n 'modules' => array(\n 'Application',\n )\n);"; @@ -54,7 +54,7 @@ public function injectComponentProvider(): array // phpcs:enable } - public function packageAlreadyRegisteredProvider(): array + public static function packageAlreadyRegisteredProvider(): array { // phpcs:disable Generic.Files.LineLength.TooLong return [ @@ -67,7 +67,7 @@ public function packageAlreadyRegisteredProvider(): array // phpcs:enable } - public function emptyConfiguration(): array + public static function emptyConfiguration(): array { // phpcs:disable Generic.Files.LineLength.TooLong $baseContentsLongArray = '<' . "?php\nreturn array(\n 'modules' => array(\n 'Application',\n )\n);"; @@ -80,7 +80,7 @@ public function emptyConfiguration(): array ]; } - public function packagePopulatedInConfiguration(): array + public static function packagePopulatedInConfiguration(): array { // phpcs:disable Generic.Files.LineLength.TooLong $baseContentsLongArray = '<' . "?php\nreturn array(\n 'modules' => array(\n 'Application',\n )\n);"; diff --git a/test/Injector/DevelopmentConfigInjectorTest.php b/test/Injector/DevelopmentConfigInjectorTest.php index 8c9be5c..c3c4e7f 100644 --- a/test/Injector/DevelopmentConfigInjectorTest.php +++ b/test/Injector/DevelopmentConfigInjectorTest.php @@ -29,7 +29,7 @@ class DevelopmentConfigInjectorTest extends AbstractInjectorTestCase InjectorInterface::TYPE_BEFORE_APPLICATION, ]; - public function allowedTypes(): array + public static function allowedTypes(): array { return [ 'config-provider' => [InjectorInterface::TYPE_CONFIG_PROVIDER, false], @@ -40,7 +40,7 @@ public function allowedTypes(): array ]; } - public function injectComponentProvider(): array + public static function injectComponentProvider(): array { // phpcs:disable Generic.Files.LineLength.TooLong $baseContentsLongArray = '<' . "?php\nreturn array(\n 'modules' => array(\n 'Application',\n )\n);"; @@ -54,7 +54,7 @@ public function injectComponentProvider(): array // phpcs:enable } - public function packageAlreadyRegisteredProvider(): array + public static function packageAlreadyRegisteredProvider(): array { // phpcs:disable Generic.Files.LineLength.TooLong return [ @@ -66,7 +66,7 @@ public function packageAlreadyRegisteredProvider(): array // phpcs:enable } - public function emptyConfiguration(): array + public static function emptyConfiguration(): array { // phpcs:disable Generic.Files.LineLength.TooLong $baseContentsLongArray = '<' . "?php\nreturn array(\n 'modules' => array(\n 'Application',\n )\n);"; @@ -79,7 +79,7 @@ public function emptyConfiguration(): array ]; } - public function packagePopulatedInConfiguration(): array + public static function packagePopulatedInConfiguration(): array { // phpcs:disable Generic.Files.LineLength.TooLong $baseContentsLongArray = '<' . "?php\nreturn array(\n 'modules' => array(\n 'Application',\n )\n);"; diff --git a/test/Injector/MezzioConfigInjectorTest.php b/test/Injector/MezzioConfigInjectorTest.php index b7af6f7..826660e 100644 --- a/test/Injector/MezzioConfigInjectorTest.php +++ b/test/Injector/MezzioConfigInjectorTest.php @@ -29,12 +29,12 @@ class MezzioConfigInjectorTest extends AbstractInjectorTestCase InjectorInterface::TYPE_CONFIG_PROVIDER, ]; - public function convertToShortArraySyntax(string $contents): string + public static function convertToShortArraySyntax(string $contents): string { return preg_replace('/array\(([^)]+)\)/s', '[$1]', $contents); } - public function allowedTypes(): array + public static function allowedTypes(): array { return [ 'config-provider' => [InjectorInterface::TYPE_CONFIG_PROVIDER, true], @@ -43,24 +43,24 @@ public function allowedTypes(): array ]; } - public function injectComponentProvider(): array + public static function injectComponentProvider(): array { // phpcs:disable Generic.Files.LineLength.TooLong $baseContentsFqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-application-fqcn.config.php'); $baseContentsGloballyQualifiedLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-application-globally-qualified.config.php'); $baseContentsImportLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-application-import.config.php'); - $baseContentsFqcnShortArray = $this->convertToShortArraySyntax($baseContentsFqcnLongArray); - $baseContentsGloballyQualifiedShortArray = $this->convertToShortArraySyntax($baseContentsGloballyQualifiedLongArray); - $baseContentsImportShortArray = $this->convertToShortArraySyntax($baseContentsImportLongArray); + $baseContentsFqcnShortArray = self::convertToShortArraySyntax($baseContentsFqcnLongArray); + $baseContentsGloballyQualifiedShortArray = self::convertToShortArraySyntax($baseContentsGloballyQualifiedLongArray); + $baseContentsImportShortArray = self::convertToShortArraySyntax($baseContentsImportLongArray); $expectedContentsFqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-populated-fqcn.config.php'); $expectedContentsGloballyQualifiedLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-populated-globally-qualified.config.php'); $expectedContentsImportLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-populated-import.config.php'); - $expectedContentsFqcnShortArray = $this->convertToShortArraySyntax($expectedContentsFqcnLongArray); - $expectedContentsGloballyQualifiedShortArray = $this->convertToShortArraySyntax($expectedContentsGloballyQualifiedLongArray); - $expectedContentsImportShortArray = $this->convertToShortArraySyntax($expectedContentsImportLongArray); + $expectedContentsFqcnShortArray = self::convertToShortArraySyntax($expectedContentsFqcnLongArray); + $expectedContentsGloballyQualifiedShortArray = self::convertToShortArraySyntax($expectedContentsGloballyQualifiedLongArray); + $expectedContentsImportShortArray = self::convertToShortArraySyntax($expectedContentsImportLongArray); return [ 'fqcn-long-array' => [InjectorInterface::TYPE_CONFIG_PROVIDER, $baseContentsFqcnLongArray, $expectedContentsFqcnLongArray], @@ -73,16 +73,16 @@ public function injectComponentProvider(): array // phpcs:enable } - public function packageAlreadyRegisteredProvider(): array + public static function packageAlreadyRegisteredProvider(): array { // phpcs:disable Generic.Files.LineLength.TooLong $fqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-populated-fqcn.config.php'); $globallyQualifiedLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-populated-globally-qualified.config.php'); $importLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-populated-import.config.php'); - $fqcnShortArray = $this->convertToShortArraySyntax($fqcnLongArray); - $globallyQualifiedShortArray = $this->convertToShortArraySyntax($globallyQualifiedLongArray); - $importShortArray = $this->convertToShortArraySyntax($importLongArray); + $fqcnShortArray = self::convertToShortArraySyntax($fqcnLongArray); + $globallyQualifiedShortArray = self::convertToShortArraySyntax($globallyQualifiedLongArray); + $importShortArray = self::convertToShortArraySyntax($importLongArray); return [ 'fqcn-long-array' => [$fqcnLongArray, InjectorInterface::TYPE_CONFIG_PROVIDER], @@ -95,7 +95,7 @@ public function packageAlreadyRegisteredProvider(): array // phpcs:enable } - public function emptyConfiguration(): array + public static function emptyConfiguration(): array { // phpcs:disable Generic.Files.LineLength.TooLong $fqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-empty-fqcn.config.php'); @@ -103,9 +103,9 @@ public function emptyConfiguration(): array $importLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-empty-import.config.php'); // phpcs:enable - $fqcnShortArray = $this->convertToShortArraySyntax($fqcnLongArray); - $globallyQualifiedShortArray = $this->convertToShortArraySyntax($globallyQualifiedLongArray); - $importShortArray = $this->convertToShortArraySyntax($importLongArray); + $fqcnShortArray = self::convertToShortArraySyntax($fqcnLongArray); + $globallyQualifiedShortArray = self::convertToShortArraySyntax($globallyQualifiedLongArray); + $importShortArray = self::convertToShortArraySyntax($importLongArray); return [ 'fqcn-long-array' => [$fqcnLongArray], @@ -117,24 +117,24 @@ public function emptyConfiguration(): array ]; } - public function packagePopulatedInConfiguration(): array + public static function packagePopulatedInConfiguration(): array { // phpcs:disable Generic.Files.LineLength.TooLong $baseContentsFqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-populated-fqcn.config.php'); $baseContentsGloballyQualifiedLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-populated-globally-qualified.config.php'); $baseContentsImportLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-populated-import.config.php'); - $baseContentsFqcnShortArray = $this->convertToShortArraySyntax($baseContentsFqcnLongArray); - $baseContentsGloballyQualifiedShortArray = $this->convertToShortArraySyntax($baseContentsGloballyQualifiedLongArray); - $baseContentsImportShortArray = $this->convertToShortArraySyntax($baseContentsImportLongArray); + $baseContentsFqcnShortArray = self::convertToShortArraySyntax($baseContentsFqcnLongArray); + $baseContentsGloballyQualifiedShortArray = self::convertToShortArraySyntax($baseContentsGloballyQualifiedLongArray); + $baseContentsImportShortArray = self::convertToShortArraySyntax($baseContentsImportLongArray); $expectedContentsFqcnLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-application-fqcn.config.php'); $expectedContentsGloballyQualifiedLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-application-globally-qualified.config.php'); $expectedContentsImportLongArray = file_get_contents(__DIR__ . '/TestAsset/legacy-mezzio-application-import.config.php'); - $expectedContentsFqcnShortArray = $this->convertToShortArraySyntax($expectedContentsFqcnLongArray); - $expectedContentsGloballyQualifiedShortArray = $this->convertToShortArraySyntax($expectedContentsGloballyQualifiedLongArray); - $expectedContentsImportShortArray = $this->convertToShortArraySyntax($expectedContentsImportLongArray); + $expectedContentsFqcnShortArray = self::convertToShortArraySyntax($expectedContentsFqcnLongArray); + $expectedContentsGloballyQualifiedShortArray = self::convertToShortArraySyntax($expectedContentsGloballyQualifiedLongArray); + $expectedContentsImportShortArray = self::convertToShortArraySyntax($expectedContentsImportLongArray); return [ 'fqcn-long-array' => [$baseContentsFqcnLongArray, $expectedContentsFqcnLongArray], diff --git a/test/Injector/ModulesConfigInjectorTest.php b/test/Injector/ModulesConfigInjectorTest.php index 10f56d1..b6dd83c 100644 --- a/test/Injector/ModulesConfigInjectorTest.php +++ b/test/Injector/ModulesConfigInjectorTest.php @@ -29,7 +29,7 @@ class ModulesConfigInjectorTest extends AbstractInjectorTestCase InjectorInterface::TYPE_BEFORE_APPLICATION, ]; - public function allowedTypes(): array + public static function allowedTypes(): array { return [ 'config-provider' => [InjectorInterface::TYPE_CONFIG_PROVIDER, false], @@ -40,7 +40,7 @@ public function allowedTypes(): array ]; } - public function injectComponentProvider(): array + public static function injectComponentProvider(): array { // phpcs:disable Generic.Files.LineLength.TooLong $baseContentsLongArray = '<' . "?php\nreturn array(\n 'Application',\n);"; @@ -54,7 +54,7 @@ public function injectComponentProvider(): array // phpcs:enable } - public function packageAlreadyRegisteredProvider(): array + public static function packageAlreadyRegisteredProvider(): array { // phpcs:disable Generic.Files.LineLength.TooLong return [ @@ -66,7 +66,7 @@ public function packageAlreadyRegisteredProvider(): array // phpcs:enable } - public function emptyConfiguration(): array + public static function emptyConfiguration(): array { $baseContentsLongArray = '<' . "?php\nreturn array(\n 'Application',\n);"; $baseContentsShortArray = '<' . "?php\nreturn [\n 'Application',\n];"; @@ -77,7 +77,7 @@ public function emptyConfiguration(): array ]; } - public function packagePopulatedInConfiguration(): array + public static function packagePopulatedInConfiguration(): array { $baseContentsLongArray = '<' . "?php\nreturn array(\n 'Application',\n);"; $baseContentsShortArray = '<' . "?php\nreturn [\n 'Application',\n];"; diff --git a/test/Injector/NoopInjectorTest.php b/test/Injector/NoopInjectorTest.php index 73ce6df..e657101 100644 --- a/test/Injector/NoopInjectorTest.php +++ b/test/Injector/NoopInjectorTest.php @@ -34,7 +34,7 @@ public function testGetTypesAllowedReturnsNoTypes(): void /** * @psalm-return array */ - public function packageTypes(): array + public static function packageTypes(): array { return [ 'config-provider' => [NoopInjector::TYPE_CONFIG_PROVIDER],