diff --git a/.gitignore b/.gitignore index 0d68d412..0a7692e7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -.phpunit.result.cache +/.phpunit.result.cache /clover.xml /coveralls-upload.json /docs/html/ @@ -7,4 +7,5 @@ /phpunit.xml /vendor/ /test/_files/test.maildir/ -.phpcs-cache +/.phpcs-cache +/.phpunit.cache/ diff --git a/composer.json b/composer.json index 2182b9b8..e939b024 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "laminas/laminas-loader": "^2.9.0", "laminas/laminas-mime": "^2.11.0", "laminas/laminas-stdlib": "^3.17.0", - "laminas/laminas-validator": "^2.30.1", + "laminas/laminas-validator": "^2.31.0", "symfony/polyfill-mbstring": "^1.27.0", "webmozart/assert": "^1.11.0", "symfony/polyfill-intl-idn": "^1.27.0" @@ -21,16 +21,16 @@ "require-dev": { "laminas/laminas-coding-standard": "~2.5.0", "laminas/laminas-crypt": "^3.10.0", - "laminas/laminas-db": "^2.17", - "laminas/laminas-servicemanager": "^3.20", - "phpunit/phpunit": "^9.6.5", + "laminas/laminas-db": "^2.18", + "laminas/laminas-servicemanager": "^3.21", + "phpunit/phpunit": "^10.1.3", "psalm/plugin-phpunit": "^0.18.4", - "symfony/process": "^6.2.7", - "vimeo/psalm": "^5.8" + "symfony/process": "^6.2.10", + "vimeo/psalm": "^5.11" }, "suggest": { "laminas/laminas-crypt": "^3.10 Crammd5 support in SMTP Auth", - "laminas/laminas-servicemanager": "^3.20 when using SMTP to deliver messages" + "laminas/laminas-servicemanager": "^3.21 when using SMTP to deliver messages" }, "config": { "sort-packages": true, diff --git a/composer.lock b/composer.lock index a057e86b..602ac21a 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": "adb400a33e6b6fbffb3045bf4686266f", + "content-hash": "ff7a7449f0dedf8f339662493072a3a5", "packages": [ { "name": "laminas/laminas-loader", @@ -125,26 +125,26 @@ }, { "name": "laminas/laminas-servicemanager", - "version": "3.20.0", + "version": "3.21.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-servicemanager.git", - "reference": "bc2c2cbe2dd90db8b9d16b0618f542692b76ab59" + "reference": "625f2aa3bc6dd02688b2da5155b3a69870812bda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/bc2c2cbe2dd90db8b9d16b0618f542692b76ab59", - "reference": "bc2c2cbe2dd90db8b9d16b0618f542692b76ab59", + "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/625f2aa3bc6dd02688b2da5155b3a69870812bda", + "reference": "625f2aa3bc6dd02688b2da5155b3a69870812bda", "shasum": "" }, "require": { - "laminas/laminas-stdlib": "^3.2.1", - "php": "~8.0.0 || ~8.1.0 || ~8.2.0", + "laminas/laminas-stdlib": "^3.17", + "php": "~8.1.0 || ~8.2.0", "psr/container": "^1.0" }, "conflict": { "ext-psr": "*", - "laminas/laminas-code": "<3.3.1", + "laminas/laminas-code": "<4.10.0", "zendframework/zend-code": "<3.3.1", "zendframework/zend-servicemanager": "*" }, @@ -156,18 +156,19 @@ }, "require-dev": { "composer/package-versions-deprecated": "^1.11.99.5", - "laminas/laminas-coding-standard": "~2.4.0", + "friendsofphp/proxy-manager-lts": "^1.0.14", + "laminas/laminas-code": "^4.10.0", + "laminas/laminas-coding-standard": "~2.5.0", "laminas/laminas-container-config-test": "^0.8", "laminas/laminas-dependency-plugin": "^2.2", - "mikey179/vfsstream": "^1.6.11@alpha", - "ocramius/proxy-manager": "^2.14.1", - "phpbench/phpbench": "^1.2.7", - "phpunit/phpunit": "^9.5.26", - "psalm/plugin-phpunit": "^0.18.0", - "vimeo/psalm": "^5.0.0" + "mikey179/vfsstream": "^1.6.11", + "phpbench/phpbench": "^1.2.9", + "phpunit/phpunit": "^10.0.17", + "psalm/plugin-phpunit": "^0.18.4", + "vimeo/psalm": "^5.8.0" }, "suggest": { - "ocramius/proxy-manager": "ProxyManager ^2.1.1 to handle lazy initialization of services" + "friendsofphp/proxy-manager-lts": "ProxyManager ^2.1.1 to handle lazy initialization of services" }, "bin": [ "bin/generate-deps-for-config-factory", @@ -211,7 +212,7 @@ "type": "community_bridge" } ], - "time": "2022-12-01T17:03:38+00:00" + "time": "2023-05-14T12:24:54+00:00" }, { "name": "laminas/laminas-stdlib", @@ -274,40 +275,40 @@ }, { "name": "laminas/laminas-validator", - "version": "2.30.1", + "version": "2.31.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-validator.git", - "reference": "b7d217b5e4951955fda9a3a5ada91b717b5c8d5c" + "reference": "7dc274aa5afd5e23be0dbea13363e3d66ba5808b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/b7d217b5e4951955fda9a3a5ada91b717b5c8d5c", - "reference": "b7d217b5e4951955fda9a3a5ada91b717b5c8d5c", + "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/7dc274aa5afd5e23be0dbea13363e3d66ba5808b", + "reference": "7dc274aa5afd5e23be0dbea13363e3d66ba5808b", "shasum": "" }, "require": { - "laminas/laminas-servicemanager": "^3.12.0", + "laminas/laminas-servicemanager": "^3.21.0", "laminas/laminas-stdlib": "^3.13", - "php": "~8.0.0 || ~8.1.0 || ~8.2.0", - "psr/http-message": "^1.0.1" + "php": "~8.1.0 || ~8.2.0", + "psr/http-message": "^1.0.1 || ^2.0.0" }, "conflict": { "zendframework/zend-validator": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "^2.4.0", - "laminas/laminas-db": "^2.16", - "laminas/laminas-filter": "^2.28.1", + "laminas/laminas-coding-standard": "^2.5", + "laminas/laminas-db": "^2.18", + "laminas/laminas-filter": "^2.32", "laminas/laminas-http": "^2.18", - "laminas/laminas-i18n": "^2.19", - "laminas/laminas-session": "^2.15", + "laminas/laminas-i18n": "^2.23", + "laminas/laminas-session": "^2.16", "laminas/laminas-uri": "^2.10.0", - "phpunit/phpunit": "^9.5.26", - "psalm/plugin-phpunit": "^0.18.3", - "psr/http-client": "^1.0.1", - "psr/http-factory": "^1.0.1", - "vimeo/psalm": "^5.0" + "phpunit/phpunit": "^10.1.3", + "psalm/plugin-phpunit": "^0.18.4", + "psr/http-client": "^1.0.2", + "psr/http-factory": "^1.0.2", + "vimeo/psalm": "^5.11" }, "suggest": { "laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator", @@ -355,7 +356,7 @@ "type": "community_bridge" } ], - "time": "2023-01-30T22:41:19+00:00" + "time": "2023-05-19T09:42:26+00:00" }, { "name": "psr/container", @@ -407,25 +408,25 @@ }, { "name": "psr/http-message", - "version": "1.0.1", + "version": "2.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -440,7 +441,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP messages", @@ -454,9 +455,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-message/tree/master" + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "time": "2016-08-06T14:39:51+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { "name": "symfony/polyfill-intl-idn", @@ -1417,76 +1418,6 @@ }, "time": "2019-12-04T15:06:13+00:00" }, - { - "name": "doctrine/instantiator", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^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/2.0.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:23:10+00:00" - }, { "name": "felixfbecker/advanced-json-rpc", "version": "v3.2.1", @@ -1771,16 +1702,16 @@ }, { "name": "laminas/laminas-db", - "version": "2.17.0", + "version": "2.18.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-db.git", - "reference": "9020ba27ffa4966c03cac743144bfd6716fdab60" + "reference": "4df7a3f7ffe268e8683306fcec125c269408b295" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-db/zipball/9020ba27ffa4966c03cac743144bfd6716fdab60", - "reference": "9020ba27ffa4966c03cac743144bfd6716fdab60", + "url": "https://api.github.com/repos/laminas/laminas-db/zipball/4df7a3f7ffe268e8683306fcec125c269408b295", + "reference": "4df7a3f7ffe268e8683306fcec125c269408b295", "shasum": "" }, "require": { @@ -1838,7 +1769,7 @@ "type": "community_bridge" } ], - "time": "2023-01-31T12:09:24+00:00" + "time": "2023-05-05T16:22:28+00:00" }, { "name": "laminas/laminas-math", @@ -1968,16 +1899,16 @@ }, { "name": "netresearch/jsonmapper", - "version": "v4.1.0", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f" + "reference": "f60565f8c0566a31acf06884cdaa591867ecc956" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/cfa81ea1d35294d64adb9c68aa4cb9e92400e53f", - "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956", + "reference": "f60565f8c0566a31acf06884cdaa591867ecc956", "shasum": "" }, "require": { @@ -2013,22 +1944,22 @@ "support": { "email": "cweiske@cweiske.de", "issues": "https://github.com/cweiske/jsonmapper/issues", - "source": "https://github.com/cweiske/jsonmapper/tree/v4.1.0" + "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0" }, - "time": "2022-12-08T20:46:14+00:00" + "time": "2023-04-09T17:37:40+00:00" }, { "name": "nikic/php-parser", - "version": "v4.15.4", + "version": "v4.15.5", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", - "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e", + "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e", "shasum": "" }, "require": { @@ -2069,9 +2000,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5" }, - "time": "2023-03-05T19:49:14+00:00" + "time": "2023-05-19T20:20:00+00:00" }, { "name": "phar-io/manifest", @@ -2395,16 +2326,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.26", + "version": "10.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + "reference": "884a0da7f9f46f28b2cb69134217fd810b793974" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/884a0da7f9f46f28b2cb69134217fd810b793974", + "reference": "884a0da7f9f46f28b2cb69134217fd810b793974", "shasum": "" }, "require": { @@ -2412,18 +2343,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", @@ -2432,7 +2363,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-main": "10.1-dev" } }, "autoload": { @@ -2460,7 +2391,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.1" }, "funding": [ { @@ -2468,32 +2400,32 @@ "type": "github" } ], - "time": "2023-03-06T12:58:08+00:00" + "time": "2023-04-17T12:15:40+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "3.0.6", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + "reference": "5647d65443818959172645e7ed999217360654b6" }, "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/5647d65443818959172645e7ed999217360654b6", + "reference": "5647d65443818959172645e7ed999217360654b6", "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": { @@ -2520,7 +2452,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.0.2" }, "funding": [ { @@ -2528,28 +2461,28 @@ "type": "github" } ], - "time": "2021-12-02T12:48:52+00:00" + "time": "2023-05-07T09:13:23+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": "*" @@ -2557,7 +2490,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -2583,7 +2516,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": [ { @@ -2591,32 +2524,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.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d" }, "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/9f3d3709577a527025f55bcf0f7ab8052c8bb37d", + "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d", "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": { @@ -2642,7 +2575,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.0" }, "funding": [ { @@ -2650,32 +2583,32 @@ "type": "github" } ], - "time": "2020-10-26T05:33:50+00:00" + "time": "2023-02-03T06:56:46+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": { @@ -2701,7 +2634,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": [ { @@ -2709,24 +2642,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.5", + "version": "10.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "86e761949019ae83f49240b2f2123fb5ab3b2fc5" + "reference": "2379ebafc1737e71cdc84f402acb6b7f04198b9d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/86e761949019ae83f49240b2f2123fb5ab3b2fc5", - "reference": "86e761949019ae83f49240b2f2123fb5ab3b2fc5", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2379ebafc1737e71cdc84f402acb6b7f04198b9d", + "reference": "2379ebafc1737e71cdc84f402acb6b7f04198b9d", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", @@ -2736,27 +2668,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.13", - "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.1", + "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.0", + "sebastian/global-state": "^6.0", + "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" @@ -2764,7 +2695,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.6-dev" + "dev-main": "10.1-dev" } }, "autoload": { @@ -2795,7 +2726,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.5" + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.1.3" }, "funding": [ { @@ -2811,7 +2743,7 @@ "type": "tidelift" } ], - "time": "2023-03-09T06:34:10+00:00" + "time": "2023-05-11T05:16:22+00:00" }, { "name": "psalm/plugin-phpunit", @@ -2925,28 +2857,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": { @@ -2969,7 +2901,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": [ { @@ -2977,32 +2909,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": { @@ -3025,7 +2957,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": [ { @@ -3033,32 +2965,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": { @@ -3080,7 +3012,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": [ { @@ -3088,34 +3020,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.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/72f01e6586e0caf6af81297897bd112eb7e9627c", + "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c", "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.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -3154,7 +3088,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.0" }, "funding": [ { @@ -3162,33 +3096,33 @@ "type": "github" } ], - "time": "2022-09-14T12:41:17+00:00" + "time": "2023-02-03T07:07:16+00:00" }, { "name": "sebastian/complexity", - "version": "2.0.2", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/e67d240970c9dc7ea7b2123a6d520e334dd61dc6", + "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6", "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.0-dev" } }, "autoload": { @@ -3211,7 +3145,7 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/complexity/tree/3.0.0" }, "funding": [ { @@ -3219,33 +3153,33 @@ "type": "github" } ], - "time": "2020-10-26T15:52:27+00:00" + "time": "2023-02-03T06:59:47+00:00" }, { "name": "sebastian/diff", - "version": "4.0.4", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "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": { @@ -3277,7 +3211,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3" }, "funding": [ { @@ -3285,27 +3220,27 @@ "type": "github" } ], - "time": "2020-10-26T13:10:38+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": "*" @@ -3313,7 +3248,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -3332,7 +3267,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", @@ -3340,7 +3275,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": [ { @@ -3348,34 +3284,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.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", + "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", "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.0-dev" } }, "autoload": { @@ -3417,7 +3353,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/exporter/tree/5.0.0" }, "funding": [ { @@ -3425,38 +3361,35 @@ "type": "github" } ], - "time": "2022-09-14T06:03:37+00:00" + "time": "2023-02-03T07:06:49+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.5", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + "reference": "aab257c712de87b90194febd52e4d184551c2d44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/aab257c712de87b90194febd52e4d184551c2d44", + "reference": "aab257c712de87b90194febd52e4d184551c2d44", "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": { @@ -3481,7 +3414,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.0" }, "funding": [ { @@ -3489,33 +3422,33 @@ "type": "github" } ], - "time": "2022-02-14T08:28:10+00:00" + "time": "2023-02-03T07:07:38+00:00" }, { "name": "sebastian/lines-of-code", - "version": "1.0.3", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130" }, "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/17c4d940ecafb3d15d2cf916f4108f664e28b130", + "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130", "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": { @@ -3538,7 +3471,7 @@ "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" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.0" }, "funding": [ { @@ -3546,34 +3479,34 @@ "type": "github" } ], - "time": "2020-11-28T06:42:11+00:00" + "time": "2023-02-03T07:08:02+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": { @@ -3595,7 +3528,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": [ { @@ -3603,32 +3536,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": { @@ -3650,7 +3583,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": [ { @@ -3658,32 +3591,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": { @@ -3713,7 +3646,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" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" }, "funding": [ { @@ -3721,87 +3654,32 @@ "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" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "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": { @@ -3824,7 +3702,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": [ { @@ -3832,29 +3710,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": { @@ -3877,7 +3755,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": [ { @@ -3885,7 +3763,7 @@ "type": "github" } ], - "time": "2020-09-28T06:39:44+00:00" + "time": "2023-02-07T11:34:05+00:00" }, { "name": "slevomat/coding-standard", @@ -3950,16 +3828,16 @@ }, { "name": "spatie/array-to-xml", - "version": "3.1.5", + "version": "3.1.6", "source": { "type": "git", "url": "https://github.com/spatie/array-to-xml.git", - "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43" + "reference": "e210b98957987c755372465be105d32113f339a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/13f76acef5362d15c71ae1ac6350cc3df5e25e43", - "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/e210b98957987c755372465be105d32113f339a4", + "reference": "e210b98957987c755372465be105d32113f339a4", "shasum": "" }, "require": { @@ -3997,7 +3875,7 @@ "xml" ], "support": { - "source": "https://github.com/spatie/array-to-xml/tree/3.1.5" + "source": "https://github.com/spatie/array-to-xml/tree/3.1.6" }, "funding": [ { @@ -4009,7 +3887,7 @@ "type": "github" } ], - "time": "2022-12-24T13:43:51+00:00" + "time": "2023-05-11T14:04:07+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -4070,16 +3948,16 @@ }, { "name": "symfony/console", - "version": "v6.2.7", + "version": "v6.2.10", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "cbad09eb8925b6ad4fb721c7a179344dc4a19d45" + "reference": "12288d9f4500f84a4d02254d4aa968b15488476f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/cbad09eb8925b6ad4fb721c7a179344dc4a19d45", - "reference": "cbad09eb8925b6ad4fb721c7a179344dc4a19d45", + "url": "https://api.github.com/repos/symfony/console/zipball/12288d9f4500f84a4d02254d4aa968b15488476f", + "reference": "12288d9f4500f84a4d02254d4aa968b15488476f", "shasum": "" }, "require": { @@ -4141,12 +4019,12 @@ "homepage": "https://symfony.com", "keywords": [ "cli", - "command line", + "command-line", "console", "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.2.7" + "source": "https://github.com/symfony/console/tree/v6.2.10" }, "funding": [ { @@ -4162,7 +4040,7 @@ "type": "tidelift" } ], - "time": "2023-02-25T17:00:03+00:00" + "time": "2023-04-28T13:37:43+00:00" }, { "name": "symfony/deprecation-contracts", @@ -4233,16 +4111,16 @@ }, { "name": "symfony/filesystem", - "version": "v6.2.7", + "version": "v6.2.10", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "82b6c62b959f642d000456f08c6d219d749215b3" + "reference": "fd588debf7d1bc16a2c84b4b3b71145d9946b894" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/82b6c62b959f642d000456f08c6d219d749215b3", - "reference": "82b6c62b959f642d000456f08c6d219d749215b3", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/fd588debf7d1bc16a2c84b4b3b71145d9946b894", + "reference": "fd588debf7d1bc16a2c84b4b3b71145d9946b894", "shasum": "" }, "require": { @@ -4276,7 +4154,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.2.7" + "source": "https://github.com/symfony/filesystem/tree/v6.2.10" }, "funding": [ { @@ -4292,7 +4170,7 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:44:56+00:00" + "time": "2023-04-18T13:46:08+00:00" }, { "name": "symfony/polyfill-ctype", @@ -4459,16 +4337,16 @@ }, { "name": "symfony/process", - "version": "v6.2.7", + "version": "v6.2.10", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "680e8a2ea6b3f87aecc07a6a65a203ae573d1902" + "reference": "b34cdbc9c5e75d45a3703e63a48ad07aafa8bf2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/680e8a2ea6b3f87aecc07a6a65a203ae573d1902", - "reference": "680e8a2ea6b3f87aecc07a6a65a203ae573d1902", + "url": "https://api.github.com/repos/symfony/process/zipball/b34cdbc9c5e75d45a3703e63a48ad07aafa8bf2e", + "reference": "b34cdbc9c5e75d45a3703e63a48ad07aafa8bf2e", "shasum": "" }, "require": { @@ -4500,7 +4378,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.2.7" + "source": "https://github.com/symfony/process/tree/v6.2.10" }, "funding": [ { @@ -4516,7 +4394,7 @@ "type": "tidelift" } ], - "time": "2023-02-24T10:42:00+00:00" + "time": "2023-04-18T13:56:57+00:00" }, { "name": "symfony/service-contracts", @@ -4603,16 +4481,16 @@ }, { "name": "symfony/string", - "version": "v6.2.7", + "version": "v6.2.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "67b8c1eec78296b85dc1c7d9743830160218993d" + "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/67b8c1eec78296b85dc1c7d9743830160218993d", - "reference": "67b8c1eec78296b85dc1c7d9743830160218993d", + "url": "https://api.github.com/repos/symfony/string/zipball/193e83bbd6617d6b2151c37fff10fa7168ebddef", + "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef", "shasum": "" }, "require": { @@ -4669,7 +4547,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.2.7" + "source": "https://github.com/symfony/string/tree/v6.2.8" }, "funding": [ { @@ -4685,7 +4563,7 @@ "type": "tidelift" } ], - "time": "2023-02-24T10:42:00+00:00" + "time": "2023-03-20T16:06:02+00:00" }, { "name": "theseer/tokenizer", @@ -4739,16 +4617,16 @@ }, { "name": "vimeo/psalm", - "version": "5.8.0", + "version": "5.11.0", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "9cf4f60a333f779ad3bc704a555920e81d4fdcda" + "reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/9cf4f60a333f779ad3bc704a555920e81d4fdcda", - "reference": "9cf4f60a333f779ad3bc704a555920e81d4fdcda", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/c9b192ab8400fdaf04b2b13d110575adc879aa90", + "reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90", "shasum": "" }, "require": { @@ -4780,6 +4658,7 @@ "psalm/psalm": "self.version" }, "require-dev": { + "amphp/phpunit-util": "^2.0", "bamarni/composer-bin-plugin": "^1.4", "brianium/paratest": "^6.9", "ext-curl": "*", @@ -4838,9 +4717,9 @@ ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/5.8.0" + "source": "https://github.com/vimeo/psalm/tree/5.11.0" }, - "time": "2023-03-09T04:14:35+00:00" + "time": "2023-05-04T21:35:44+00:00" }, { "name": "webimpress/coding-standard", diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 7bf32933..ec78d9e6 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,37 +1,27 @@ - - - ./test/ - - - - - - disable - - - - - - ./src - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + ./src + + diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 70b8cdd7..88d83696 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -1,5 +1,5 @@ - + ! is_string($email) @@ -297,13 +297,12 @@ is_array($headers) is_string($headerFieldNameOrLine) - - headers]]> - headers]]> - mixed + + pluginClassLoader->load($key) ?: GenericHeader::class]]> + $headers $value @@ -325,7 +324,6 @@ $current $current - $header $i $index $name @@ -336,10 +334,6 @@ HeaderInterface false|ArrayIterator|HeaderInterface - - setEncoding - setEncoding - $i @@ -349,6 +343,9 @@ $results[0] $results[0] + + ]]> + @@ -612,7 +609,6 @@ $endPos - $string $string escapeString($old, $new)]]> escapeString($reference, $mailbox)]]> @@ -629,7 +625,6 @@ $tokens[2][3] - $string $tokens @@ -852,6 +847,7 @@ $aliases + $factories $instanceOf @@ -2307,9 +2303,6 @@ } }]]> - - $type - @@ -2319,14 +2312,6 @@ - - - ProtocolTrait::class - - - getCryptoMethod - - $result @@ -3177,10 +3162,6 @@ - - setMethods - setMethods - $connectedTimeAfterFirstMail diff --git a/src/Header/HeaderLocatorInterface.php b/src/Header/HeaderLocatorInterface.php index 28a93dc9..eafc1987 100644 --- a/src/Header/HeaderLocatorInterface.php +++ b/src/Header/HeaderLocatorInterface.php @@ -9,6 +9,10 @@ */ interface HeaderLocatorInterface { + /** + * @param class-string|null $default + * @return class-string|null + */ public function get(string $name, ?string $default = null): ?string; public function has(string $name): bool; diff --git a/src/Headers.php b/src/Headers.php index 840edec5..626fd3a0 100644 --- a/src/Headers.php +++ b/src/Headers.php @@ -566,8 +566,9 @@ public function loadHeader($headerLine) { [$name] = GenericHeader::splitHeaderLine($headerLine); - /** @var HeaderInterface $class */ $class = $this->resolveHeaderClass($name); + assert(null !== $class); + return $class::fromString($headerLine); } @@ -581,16 +582,18 @@ protected function lazyLoadHeader($index) $key = $this->headersKeys[$index]; - /** @var GenericHeader $class */ $class = $this->resolveHeaderClass($key); + assert(null !== $class); $encoding = $current->getEncoding(); $headers = $class::fromString($current->toString()); if (is_array($headers)) { $current = array_shift($headers); + assert($current instanceof HeaderInterface); $current->setEncoding($encoding); $this->headers[$index] = $current; foreach ($headers as $header) { + assert($header instanceof HeaderInterface); $header->setEncoding($encoding); $this->headersKeys[] = $key; $this->headers[] = $header; @@ -617,9 +620,9 @@ protected function normalizeFieldName($fieldName) /** * @param string $key - * @return null|string + * @return null|class-string */ - private function resolveHeaderClass($key) + private function resolveHeaderClass($key): ?string { if ($this->pluginClassLoader) { return $this->pluginClassLoader->load($key) ?: GenericHeader::class; diff --git a/test/AddressTest.php b/test/AddressTest.php index 0faffe70..62e62581 100644 --- a/test/AddressTest.php +++ b/test/AddressTest.php @@ -43,7 +43,7 @@ public function testSetAddressInvalidAddressObject($email, $name): void new Address($email, $name); } - public function invalidSenderDataProvider(): array + public static function invalidSenderDataProvider(): array { return [ // Description => [sender address, sender name], @@ -74,7 +74,7 @@ public function testSetAddressValidAddressObject($email, $name): void $this->assertInstanceOf(Address::class, $address); } - public function validSenderDataProvider(): array + public static function validSenderDataProvider(): array { return [ // Description => [sender address, sender name], diff --git a/test/Header/AddressListHeaderTest.php b/test/Header/AddressListHeaderTest.php index 7e558323..67044b39 100644 --- a/test/Header/AddressListHeaderTest.php +++ b/test/Header/AddressListHeaderTest.php @@ -67,7 +67,7 @@ public function testFieldValueIsCreatedFromAddressList(): void $header = new To(); $list = $header->getAddressList(); $this->populateAddressList($list); - $expected = $this->getExpectedFieldValue(); + $expected = self::getExpectedFieldValue(); $this->assertEquals($expected, $header->getFieldValue()); } @@ -80,7 +80,7 @@ public function populateAddressList(AddressList $list): void $list->add('first@last.example.com', 'Last, First'); } - public function getExpectedFieldValue(): string + public static function getExpectedFieldValue(): string { // @codingStandardsIgnoreStart return "Example Test ,\r\n list@example.com,\r\n Example Announce List ,\r\n \"Last, First\" "; @@ -93,13 +93,13 @@ public function getExpectedFieldValue(): string public function testStringRepresentationIncludesHeaderAndFieldValue(AbstractAddressList $header, string $type): void { $this->populateAddressList($header->getAddressList()); - $expected = sprintf('%s: %s', $type, $this->getExpectedFieldValue()); + $expected = sprintf('%s: %s', $type, self::getExpectedFieldValue()); $this->assertEquals($expected, $header->toString()); } - public function getStringHeaders(): array + public static function getStringHeaders(): array { - $value = $this->getExpectedFieldValue(); + $value = self::getExpectedFieldValue(); return [ 'cc' => ['Cc: ' . $value, Cc::class], 'bcc' => ['Bcc: ' . $value, Bcc::class], @@ -134,9 +134,9 @@ public function testDeserializationFromString(string $headerLine, string $class) $this->assertEquals('Last, First', $address->getName()); } - public function getStringHeadersWithNoWhitespaceSeparator(): array + public static function getStringHeadersWithNoWhitespaceSeparator(): array { - $value = $this->getExpectedFieldValue(); + $value = self::getExpectedFieldValue(); return [ 'cc' => ['Cc:' . $value, Cc::class], 'bcc' => ['Bcc:' . $value, Bcc::class], @@ -157,7 +157,7 @@ public function testDeserializationFromStringWithComments(string $value): void $this->assertTrue($list->has('user@example.com')); } - public function getHeadersWithComments(): array + public static function getHeadersWithComments(): array { return [ ['From: user@example.com (Comment)'], @@ -180,7 +180,7 @@ public function testTrimSurroundingSingleQuotes(string $value): void /** * @return string[][] */ - public function getHeadersWithSurroundingSingleQuotes(): array + public static function getHeadersWithSurroundingSingleQuotes(): array { return [ ['To: <\'foo@example.com\'>'], @@ -229,7 +229,7 @@ public function testAddressListWithGroup(string $input, int $count, $sample): vo } } - public function getAddressListsWithGroup(): array + public static function getAddressListsWithGroup(): array { return [ ['To: undisclosed-recipients:;', 0, null], @@ -237,7 +237,7 @@ public function getAddressListsWithGroup(): array ]; } - public function specialCharHeaderProvider(): array + public static function specialCharHeaderProvider(): array { return [ [ @@ -274,7 +274,7 @@ public function testDeserializationFromSpecialCharString( } } - public function unconventionalHeaderLinesProvider(): array + public static function unconventionalHeaderLinesProvider(): array { return [ // Description => [header line, expected] diff --git a/test/Header/ContentDispositionTest.php b/test/Header/ContentDispositionTest.php index abd3323a..9df7a42f 100644 --- a/test/Header/ContentDispositionTest.php +++ b/test/Header/ContentDispositionTest.php @@ -197,7 +197,7 @@ public function testRemoveParameter(): void $this->assertEquals(true, $header->removeParameter('name')); } - public function setDispositionProvider(): array + public static function setDispositionProvider(): array { // @codingStandardsIgnoreStart $foldingFieldValue = "attachment;\r\n filename=\"this-test-filename-is-long-enough-to-flow-to-two-lines.txt\""; @@ -257,7 +257,7 @@ public function setDispositionProvider(): array // @codingStandardsIgnoreEnd } - public function invalidParametersProvider(): array + public static function invalidParametersProvider(): array { $invalidArgumentException = InvalidArgumentException::class; @@ -270,7 +270,7 @@ public function invalidParametersProvider(): array // @codingStandardsIgnoreEnd } - public function invalidHeaderLinesProvider(): array + public static function invalidHeaderLinesProvider(): array { $invalidArgumentException = InvalidArgumentException::class; @@ -287,7 +287,7 @@ public function invalidHeaderLinesProvider(): array // @codingStandardsIgnoreEnd } - public function getParameterProvider(): array + public static function getParameterProvider(): array { // @codingStandardsIgnoreStart return [ @@ -303,7 +303,7 @@ public function getParameterProvider(): array // @codingStandardsIgnoreEnd } - public function parameterWrappingProvider(): iterable + public static function parameterWrappingProvider(): iterable { // @codingStandardsIgnoreStart yield 'Without sequence number' => [ @@ -326,7 +326,7 @@ public function parameterWrappingProvider(): iterable // @codingStandardsIgnoreEnd } - public function parameterWrappingProviderExceptions(): iterable + public static function parameterWrappingProviderExceptions(): iterable { // @codingStandardsIgnoreStart yield 'With non-numeric-sequence' => [ @@ -339,7 +339,7 @@ public function parameterWrappingProviderExceptions(): iterable // @codingStandardsIgnoreEnd } - public function unconventionalHeaderLinesProvider(): array + public static function unconventionalHeaderLinesProvider(): array { return [ // Description => [header line, expected] diff --git a/test/Header/ContentTransferEncodingTest.php b/test/Header/ContentTransferEncodingTest.php index 345ce011..d1d3d2d8 100644 --- a/test/Header/ContentTransferEncodingTest.php +++ b/test/Header/ContentTransferEncodingTest.php @@ -18,7 +18,7 @@ */ class ContentTransferEncodingTest extends TestCase { - public function dataValidEncodings(): array + public static function dataValidEncodings(): array { return [ ['7bit'], @@ -28,7 +28,7 @@ public function dataValidEncodings(): array ]; } - public function dataInvalidEncodings(): array + public static function dataInvalidEncodings(): array { return [ ['9bit'], @@ -111,7 +111,7 @@ public function testFromStringRaisesExceptionOnInvalidHeaderName(): void ContentTransferEncoding::fromString('Content-Transfer-Encoding' . chr(32) . ': 8bit'); } - public function headerLines(): array + public static function headerLines(): array { return [ 'newline' => ["Content-Transfer-Encoding: 8bit\n7bit"], @@ -171,7 +171,7 @@ public function testChangeEncodingHasNoEffect(): void $this->assertSame('ASCII', $header->getEncoding()); } - public function unconventionalHeaderLinesProvider(): array + public static function unconventionalHeaderLinesProvider(): array { return [ // Description => [header line, expected value] diff --git a/test/Header/ContentTypeTest.php b/test/Header/ContentTypeTest.php index 314766cc..5ef13857 100644 --- a/test/Header/ContentTypeTest.php +++ b/test/Header/ContentTypeTest.php @@ -153,7 +153,7 @@ public function testAddParameterThrowException( $header->addParameter($paramName, $paramValue); } - public function setTypeProvider(): array + public static function setTypeProvider(): array { $foldingHeaderLine = "Content-Type: foo/baz;\r\n charset=\"us-ascii\""; $foldingFieldValue = "foo/baz;\r\n charset=\"us-ascii\""; @@ -174,7 +174,7 @@ public function setTypeProvider(): array // @codingStandardsIgnoreEnd } - public function invalidParametersProvider(): array + public static function invalidParametersProvider(): array { $invalidArgumentException = Exception\InvalidArgumentException::class; @@ -188,7 +188,7 @@ public function invalidParametersProvider(): array // @codingStandardsIgnoreEnd } - public function invalidHeaderLinesProvider(): array + public static function invalidHeaderLinesProvider(): array { $invalidArgumentException = Exception\InvalidArgumentException::class; @@ -263,7 +263,7 @@ public function testRemoveParameterNotExists(): void $this->assertFalse($header->removeParameter('level')); } - public function parameterWrappingProvider(): iterable + public static function parameterWrappingProvider(): iterable { yield 'Example from RFC2231' => [ "Content-Type: application/x-stuff; title*=us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A", @@ -271,7 +271,7 @@ public function parameterWrappingProvider(): iterable ]; } - public function unconventionalHeaderLinesProvider(): array + public static function unconventionalHeaderLinesProvider(): array { return [ // Description => [header line, expected value] diff --git a/test/Header/DateTest.php b/test/Header/DateTest.php index b3fb9c3a..1a779842 100644 --- a/test/Header/DateTest.php +++ b/test/Header/DateTest.php @@ -11,7 +11,7 @@ */ class DateTest extends TestCase { - public function headerLines(): array + public static function headerLines(): array { return [ 'newline' => ["Date: xxx yyy\n"], diff --git a/test/Header/GenericHeaderTest.php b/test/Header/GenericHeaderTest.php index 862cb5e1..55bce76d 100644 --- a/test/Header/GenericHeaderTest.php +++ b/test/Header/GenericHeaderTest.php @@ -16,7 +16,7 @@ class GenericHeaderTest extends TestCase { /** @return array */ - public function invalidHeaderLines(): array + public static function invalidHeaderLines(): array { return [ 'append-chr-32' => [ @@ -46,7 +46,7 @@ public function testSplitHeaderLineRaisesExceptionOnInvalidHeader(string $line, } /** @return array */ - public function fieldNames(): array + public static function fieldNames(): array { return [ 'append-chr-13' => ["Subject" . chr(13)], @@ -81,7 +81,7 @@ public function testSetFieldNameRaisesExceptionOnInvalidFieldName(?string $field } /** @return array */ - public function fieldValues(): array + public static function fieldValues(): array { return [ 'empty-lines' => ["\n\n\r\n\r\n\n"], @@ -136,7 +136,7 @@ public function testSetFieldValueValidValue(string $decodedValue, string $encode } /** @return array */ - public function validFieldValuesProvider(): array + public static function validFieldValuesProvider(): array { return [ // Description => [decoded format, encoded format, encoding], diff --git a/test/Header/HeaderLocatorTest.php b/test/Header/HeaderLocatorTest.php index da8f5749..5de948e9 100644 --- a/test/Header/HeaderLocatorTest.php +++ b/test/Header/HeaderLocatorTest.php @@ -15,7 +15,7 @@ public function setUp(): void $this->headerLocator = new Header\HeaderLocator(); } - public function provideHeaderNames(): array + public static function provideHeaderNames(): array { return [ 'with existing name' => ['to', Header\To::class], @@ -25,8 +25,8 @@ public function provideHeaderNames(): array } /** - * @param null|class-string $expected - * @param null|class-string $default + * @param null|class-string $expected + * @param null|class-string $default * @dataProvider provideHeaderNames */ public function testHeaderIsProperlyLoaded(string $name, ?string $expected, ?string $default = null): void diff --git a/test/Header/HeaderNameTest.php b/test/Header/HeaderNameTest.php index 3b9b9bce..6d1372ac 100644 --- a/test/Header/HeaderNameTest.php +++ b/test/Header/HeaderNameTest.php @@ -16,7 +16,7 @@ class HeaderNameTest extends TestCase /** * Data for filter name */ - public function getFilterNames(): array + public static function getFilterNames(): array { return [ ['Subject', 'Subject'], @@ -39,7 +39,7 @@ public function testFilterName(string $name, string $expected): void $this->assertEquals($expected, HeaderName::filter($name)); } - public function validateNames(): array + public static function validateNames(): array { return [ ['Subject', 'assertTrue'], @@ -61,7 +61,7 @@ public function testValidateName(string $name, string $assertion): void $this->{$assertion}(HeaderName::isValid($name)); } - public function assertNames(): array + public static function assertNames(): array { return [ ['Subject:'], diff --git a/test/Header/HeaderValueTest.php b/test/Header/HeaderValueTest.php index afce9a80..c84425ac 100644 --- a/test/Header/HeaderValueTest.php +++ b/test/Header/HeaderValueTest.php @@ -14,7 +14,7 @@ class HeaderValueTest extends TestCase /** * Data for filter value */ - public function getFilterValues(): array + public static function getFilterValues(): array { return [ ["This is a\n test", "This is a test"], @@ -41,7 +41,7 @@ public function testFilterValue(string $value, string $expected): void $this->assertEquals($expected, HeaderValue::filter($value)); } - public function validateValues(): array + public static function validateValues(): array { return [ ["This is a\n test", 'assertFalse'], @@ -72,7 +72,7 @@ public function testValidateValue(string $value, string $assertion): void $this->{$assertion}(HeaderValue::isValid($value)); } - public function assertValues(): array + public static function assertValues(): array { return [ ["This is a\n test"], diff --git a/test/Header/IdentificationFieldTest.php b/test/Header/IdentificationFieldTest.php index afa714ec..36322f91 100644 --- a/test/Header/IdentificationFieldTest.php +++ b/test/Header/IdentificationFieldTest.php @@ -12,7 +12,7 @@ class IdentificationFieldTest extends TestCase { - public function stringHeadersProvider(): array + public static function stringHeadersProvider(): array { return array_merge( [ @@ -22,11 +22,11 @@ public function stringHeadersProvider(): array ['1234@local.machine.example', '3456@example.net'], ], ], - $this->reversibleStringHeadersProvider() + self::reversibleStringHeadersProvider() ); } - public function reversibleStringHeadersProvider(): array + public static function reversibleStringHeadersProvider(): array { return [ [References::class, 'References: <1234@local.machine.example>', ['1234@local.machine.example']], @@ -39,7 +39,7 @@ public function reversibleStringHeadersProvider(): array ]; } - public function invalidIds(): array + public static function invalidIds(): array { return [ [References::class, ["1234@local.machine.example\r\n"]], diff --git a/test/Header/MessageIdTest.php b/test/Header/MessageIdTest.php index 804b2883..086e5f8c 100644 --- a/test/Header/MessageIdTest.php +++ b/test/Header/MessageIdTest.php @@ -46,7 +46,7 @@ public function testAutoGenerationWithServerVars(): void $_SERVER = $serverBeforeTest; } - public function headerLines(): array + public static function headerLines(): array { return [ 'newline' => ["Message-ID: foo\nbar"], @@ -66,7 +66,7 @@ public function testFromStringPreventsCrlfInjectionOnDetection(string $header): $messageid = Header\MessageId::fromString($header); } - public function invalidIdentifiers(): array + public static function invalidIdentifiers(): array { return [ 'newline' => ["foo\nbar"], diff --git a/test/Header/MimeVersionTest.php b/test/Header/MimeVersionTest.php index 3cb7e01a..1ea5e30b 100644 --- a/test/Header/MimeVersionTest.php +++ b/test/Header/MimeVersionTest.php @@ -27,7 +27,7 @@ public function testDefaultVersion(): void $this->assertEquals('MIME-Version: 1.0', $mime->toString()); } - public function headerLines(): array + public static function headerLines(): array { return [ 'newline' => ["MIME-Version: 5.0\nbar"], @@ -47,7 +47,7 @@ public function testFromStringRaisesExceptionOnDetectionOfCrlfInjection(string $ $mime = Header\MimeVersion::fromString($header); } - public function invalidVersions(): array + public static function invalidVersions(): array { return [ 'no-decimal' => ['1'], @@ -88,7 +88,7 @@ public function testSetEncodingHasNoEffect(): void $this->assertSame('ASCII', $header->getEncoding()); } - public function unconventionalHeaderLinesProvider(): array + public static function unconventionalHeaderLinesProvider(): array { return [ // Description => [header line, expected value] diff --git a/test/Header/ReceivedTest.php b/test/Header/ReceivedTest.php index bc48c0fe..2e46c21b 100644 --- a/test/Header/ReceivedTest.php +++ b/test/Header/ReceivedTest.php @@ -46,7 +46,7 @@ public function testReceivedToStringReturnsHeaderFormattedString(): void } /** Implementation specific tests here */ - public function headerLines(): array + public static function headerLines(): array { return [ 'newline' => ["Received: xx\nx"], @@ -67,7 +67,7 @@ public function testRaisesExceptionViaFromStringOnDetectionOfCrlfInjection(strin $received = Header\Received::fromString($header); } - public function invalidValues(): array + public static function invalidValues(): array { return [ 'newline' => ["xx\nx"], diff --git a/test/Header/SenderTest.php b/test/Header/SenderTest.php index 20a7001b..30ac6b80 100644 --- a/test/Header/SenderTest.php +++ b/test/Header/SenderTest.php @@ -112,7 +112,7 @@ public function testSetAddressValidAddressObject($email, $name, $expectedFieldVa $this->assertEquals($encoding, $header->getEncoding()); } - public function validSenderDataProvider(): array + public static function validSenderDataProvider(): array { return [ // Description => [sender address, sender name, getFieldValue, encoded version, encoding], @@ -140,10 +140,10 @@ public function validSenderDataProvider(): array ]; } - public function validSenderHeaderDataProvider(): array + public static function validSenderHeaderDataProvider(): array { return array_merge(array_map(static fn($parameters) - => array_slice($parameters, 2), $this->validSenderDataProvider()), [ + => array_slice($parameters, 2), self::validSenderDataProvider()), [ // Per RFC 2822, 3.4 and 3.6.2, "Sender: foo@bar" is valid. 'Unbracketed email' => [ '', @@ -153,7 +153,7 @@ public function validSenderHeaderDataProvider(): array ]); } - public function invalidSenderDataProvider(): array + public static function invalidSenderDataProvider(): array { $mailInvalidArgumentException = Exception\InvalidArgumentException::class; @@ -176,7 +176,7 @@ public function invalidSenderDataProvider(): array ]; } - public function invalidSenderEncodedDataProvider(): array + public static function invalidSenderEncodedDataProvider(): array { $mailInvalidArgumentException = Exception\InvalidArgumentException::class; $headerInvalidArgumentException = Header\Exception\InvalidArgumentException::class; @@ -213,7 +213,7 @@ public function testFromStringWithValidInput($headerString, $expectedName, $expe $this->assertSame($expectedEmail, $header->getAddress()->getEmail()); } - public function validHeaderLinesProvider(): array + public static function validHeaderLinesProvider(): array { // @codingStandardsIgnoreStart return [ @@ -245,7 +245,7 @@ public function testFromStringWithInvalidInput($headerString, $expectedException Header\Sender::fromString($headerString); } - public function invalidHeaderLinesProvider(): array + public static function invalidHeaderLinesProvider(): array { $mailInvalidArgumentException = Exception\InvalidArgumentException::class; $headerInvalidArgumentException = Header\Exception\InvalidArgumentException::class; diff --git a/test/Header/SubjectTest.php b/test/Header/SubjectTest.php index d06d3a79..313174df 100644 --- a/test/Header/SubjectTest.php +++ b/test/Header/SubjectTest.php @@ -97,7 +97,7 @@ public function testSetSubjectValidValue($decodedValue, $encodedValue, $encoding $this->assertEquals($encoding, $header->getEncoding()); } - public function validSubjectValuesProvider(): array + public static function validSubjectValuesProvider(): array { return [ // Description => [decoded format, encoded format, encoding], @@ -115,7 +115,7 @@ public function validSubjectValuesProvider(): array ]; } - public function invalidSubjectValuesProvider(): array + public static function invalidSubjectValuesProvider(): array { $invalidArgumentException = Exception\InvalidArgumentException::class; $invalidHeaderValueDetected = 'Invalid header value detected'; diff --git a/test/Header/ToTest.php b/test/Header/ToTest.php index 91aacd2d..75273ea7 100644 --- a/test/Header/ToTest.php +++ b/test/Header/ToTest.php @@ -30,7 +30,7 @@ public function testHeaderFoldingOccursProperly(): void $this->assertEquals(10, count($emails)); } - public function headerLines(): array + public static function headerLines(): array { return [ 'newline' => ["To: xxx yyy\n"], diff --git a/test/MessageFactoryTest.php b/test/MessageFactoryTest.php index 11da700c..411372a0 100644 --- a/test/MessageFactoryTest.php +++ b/test/MessageFactoryTest.php @@ -96,7 +96,7 @@ public function testEmptyOption(): void $this->assertInstanceOf(Message::class, $mail); } - public function invalidMessageOptions(): array + public static function invalidMessageOptions(): array { return [ 'null' => [null], diff --git a/test/MessageTest.php b/test/MessageTest.php index 8e59a7b8..042e7b85 100644 --- a/test/MessageTest.php +++ b/test/MessageTest.php @@ -739,7 +739,7 @@ public function testPassEmptyArrayIntoSetPartsOfMimeMessageShouldReturnEmptyBody $this->assertEquals('', $this->message->getBodyText()); } - public function messageRecipients(): array + public static function messageRecipients(): array { return [ 'setFrom' => ['setFrom'], diff --git a/test/Protocol/ProtocolTraitTest.php b/test/Protocol/ProtocolTraitTest.php index 44297ff4..c0be392f 100644 --- a/test/Protocol/ProtocolTraitTest.php +++ b/test/Protocol/ProtocolTraitTest.php @@ -12,7 +12,9 @@ class ProtocolTraitTest extends TestCase { public function testTls12Version(): void { - $mock = $this->getMockForTrait(ProtocolTrait::class); + $mock = new class { + use ProtocolTrait; + }; $this->assertNotEmpty( STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT & $mock->getCryptoMethod(), diff --git a/test/Protocol/SmtpPluginManagerCompatibilityTest.php b/test/Protocol/SmtpPluginManagerCompatibilityTest.php index 7776dc28..23adfe09 100644 --- a/test/Protocol/SmtpPluginManagerCompatibilityTest.php +++ b/test/Protocol/SmtpPluginManagerCompatibilityTest.php @@ -13,7 +13,7 @@ class SmtpPluginManagerCompatibilityTest extends TestCase { use CommonPluginManagerTrait; - protected function getPluginManager(): SmtpPluginManager + protected static function getPluginManager(): SmtpPluginManager { return new SmtpPluginManager(new ServiceManager()); } diff --git a/test/Storage/MessageTest.php b/test/Storage/MessageTest.php index c6aec8ab..860d8acd 100644 --- a/test/Storage/MessageTest.php +++ b/test/Storage/MessageTest.php @@ -501,7 +501,7 @@ public function testMultivaluedToHeader(): void $this->assertEquals('nicpoń', $address->getName()); } - public function filesProvider(): array + public static function filesProvider(): array { $filePath = __DIR__ . '/../_files/mail.eml'; $fileBlankLineOnTop = __DIR__ . '/../_files/mail_blank_top_line.eml'; diff --git a/test/Storage/ParamsNormalizerTest.php b/test/Storage/ParamsNormalizerTest.php index 76d1b8e1..ff9edb00 100644 --- a/test/Storage/ParamsNormalizerTest.php +++ b/test/Storage/ParamsNormalizerTest.php @@ -10,7 +10,7 @@ class ParamsNormalizerTest extends TestCase { /** @psalm-return iterable */ - public function invalidParams(): iterable + public static function invalidParams(): iterable { yield 'null' => [null]; yield 'bool' => [true]; diff --git a/test/Transport/FactoryTest.php b/test/Transport/FactoryTest.php index f23ca16f..7dd326cb 100644 --- a/test/Transport/FactoryTest.php +++ b/test/Transport/FactoryTest.php @@ -34,7 +34,7 @@ public function testInvalidSpecThrowsInvalidArgumentException(mixed $spec): void Factory::create($spec); } - public function invalidSpecTypeProvider(): array + public static function invalidSpecTypeProvider(): array { return [ ['spec'], @@ -66,7 +66,7 @@ public function testCanCreateClassUsingTypeKey(string $type): void $this->assertInstanceOf($type, $transport); } - public function typeProvider(): array + public static function typeProvider(): array { return [ [File::class], @@ -89,7 +89,7 @@ public function testCanCreateClassFromTypeAlias(string $type, string $expectedCl $this->assertInstanceOf($expectedClass, $transport); } - public function typeAliasProvider(): array + public static function typeAliasProvider(): array { return [ ['file', File::class], @@ -140,7 +140,7 @@ public function testInvalidClassThrowsDomainException(string $class): void ]); } - public function invalidClassProvider(): array + public static function invalidClassProvider(): array { return [ ['stdClass'], diff --git a/test/Transport/SendmailTest.php b/test/Transport/SendmailTest.php index b96ca0db..6f36b21c 100644 --- a/test/Transport/SendmailTest.php +++ b/test/Transport/SendmailTest.php @@ -325,7 +325,7 @@ public function testHeadersToAndSubjectAreNotDuplicated(): void ); } - public function additionalParametersContainingFromSwitch(): iterable + public static function additionalParametersContainingFromSwitch(): iterable { yield 'leading' => ['-f\'foo@example.com\'']; yield 'not-leading' => ['-bs -f\'foo@example.com\'']; diff --git a/test/Transport/SmtpTest.php b/test/Transport/SmtpTest.php index c10b3e35..88895e80 100644 --- a/test/Transport/SmtpTest.php +++ b/test/Transport/SmtpTest.php @@ -318,7 +318,7 @@ public function testAutoReconnect(): void // Mock the connection $connectionMock = $this->getMockBuilder(SmtpProtocol::class) ->disableOriginalConstructor() - ->setMethods(['connect', 'helo', 'hasSession', 'mail', 'rcpt', 'data', 'rset']) + ->onlyMethods(['connect', 'helo', 'hasSession', 'mail', 'rcpt', 'data', 'rset']) ->getMock(); $connectionMock @@ -358,7 +358,7 @@ public function testAutoReconnect(): void // Mock the plugin manager so that lazyLoadConnection() works $pluginManagerMock = $this->getMockBuilder(SmtpPluginManager::class) ->disableOriginalConstructor() - ->setMethods(['get']) + ->onlyMethods(['get']) ->getMock(); $pluginManagerMock