diff options
| author | 2024-01-13 17:02:39 +0100 | |
|---|---|---|
| committer | 2024-01-13 17:02:39 +0100 | |
| commit | 74ed1e6c5772338f8a18f4cbf63bdfcf2ef9baaf (patch) | |
| tree | a08f3a30d811f1cb94a1adcef06e99b424a58dee | |
| parent | 9c97d8ca729e3cfb067445c0d3c9ad8284132aeb (diff) | |
Fix PHP 7.4 compatibility (#6038)
Some recent PRs have broken PHP 7.4 compatibility due to `mixed` typing.
| -rw-r--r-- | app/Utils/dotpathUtil.php | 5 | ||||
| -rw-r--r-- | app/views/helpers/export/opml.phtml | 2 | ||||
| -rw-r--r-- | composer.json | 2 | ||||
| -rw-r--r-- | composer.lock | 78 | ||||
| -rw-r--r-- | tests/app/Utils/dotpathUtilTest.php | 4 | ||||
| -rw-r--r-- | tests/bootstrap.php | 2 |
6 files changed, 48 insertions, 45 deletions
diff --git a/app/Utils/dotpathUtil.php b/app/Utils/dotpathUtil.php index aaeb82daa..299b1dcc4 100644 --- a/app/Utils/dotpathUtil.php +++ b/app/Utils/dotpathUtil.php @@ -63,7 +63,7 @@ final class FreshRSS_dotpath_Util * @param mixed $value * @return bool */ - private static function accessible(mixed $value): bool { + private static function accessible($value): bool { return is_array($value) || $value instanceof \ArrayAccess; } @@ -84,7 +84,8 @@ final class FreshRSS_dotpath_Util return false; } - private static function value(mixed $value): mixed { + /** @param mixed $value */ + private static function value($value): mixed { return $value instanceof Closure ? $value() : $value; } diff --git a/app/views/helpers/export/opml.phtml b/app/views/helpers/export/opml.phtml index 736854f46..0b53a1ce4 100644 --- a/app/views/helpers/export/opml.phtml +++ b/app/views/helpers/export/opml.phtml @@ -103,7 +103,7 @@ function feedsToOutlines(array $feeds, bool $excludeMutedFeeds = false): array { } // Remove null or invalid attributes - $outline = array_filter($outline, static function (mixed $value) { return (is_string($value) || is_int($value) || is_bool($value)) && $value !== ''; }); + $outline = array_filter($outline, static function ($value) { return (is_string($value) || is_int($value) || is_bool($value)) && $value !== ''; }); $outlines[] = $outline; } diff --git a/composer.json b/composer.json index 204d332a2..89a077032 100644 --- a/composer.json +++ b/composer.json @@ -45,7 +45,7 @@ "ext-pdo_pgsql": "*" }, "require-dev": { - "php": ">=8.0", + "php": ">=7.4", "ext-phar": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", diff --git a/composer.lock b/composer.lock index 595ba79f4..65fcd29e3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,35 +4,35 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a302fe80fe6fa85705f6bb31107a16e5", + "content-hash": "68ad77514e7c3945e8a7c72dc8e69200", "packages": [], "packages-dev": [ { "name": "doctrine/instantiator", - "version": "2.0.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", "shasum": "" }, "require": { - "php": "^8.1" + "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^11", + "doctrine/coding-standard": "^9 || ^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" + "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": { @@ -59,7 +59,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" + "source": "https://github.com/doctrine/instantiator/tree/1.5.0" }, "funding": [ { @@ -75,7 +75,7 @@ "type": "tidelift" } ], - "time": "2022-12-30T00:23:10+00:00" + "time": "2022-12-30T00:15:36+00:00" }, { "name": "myclabs/deep-copy", @@ -138,25 +138,27 @@ }, { "name": "nikic/php-parser", - "version": "v4.18.0", + "version": "v5.0.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999" + "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999", - "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4a21235f7e56e713259a6f76bf4b5ea08502b9dc", + "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc", "shasum": "" }, "require": { + "ext-ctype": "*", + "ext-json": "*", "ext-tokenizer": "*", - "php": ">=7.0" + "php": ">=7.4" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -164,7 +166,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.9-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -188,9 +190,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.0" }, - "time": "2023-12-10T21:03:43+00:00" + "time": "2024-01-07T17:17:35+00:00" }, { "name": "phar-io/manifest", @@ -305,16 +307,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.50", + "version": "1.10.55", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "06a98513ac72c03e8366b5a0cb00750b487032e4" + "reference": "9a88f9d18ddf4cf54c922fbeac16c4cb164c5949" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/06a98513ac72c03e8366b5a0cb00750b487032e4", - "reference": "06a98513ac72c03e8366b5a0cb00750b487032e4", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9a88f9d18ddf4cf54c922fbeac16c4cb164c5949", + "reference": "9a88f9d18ddf4cf54c922fbeac16c4cb164c5949", "shasum": "" }, "require": { @@ -363,7 +365,7 @@ "type": "tidelift" } ], - "time": "2023-12-13T10:59:42+00:00" + "time": "2024-01-08T12:32:40+00:00" }, { "name": "phpstan/phpstan-phpunit", @@ -1854,16 +1856,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.8.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7" + "reference": "14f5fff1e64118595db5408e946f3a22c75807f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5805f7a4e4958dbb5e944ef1e6edae0a303765e7", - "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/14f5fff1e64118595db5408e946f3a22c75807f7", + "reference": "14f5fff1e64118595db5408e946f3a22c75807f7", "shasum": "" }, "require": { @@ -1873,11 +1875,11 @@ "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" }, "bin": [ - "bin/phpcs", - "bin/phpcbf" + "bin/phpcbf", + "bin/phpcs" ], "type": "library", "extra": { @@ -1930,7 +1932,7 @@ "type": "open_collective" } ], - "time": "2023-12-08T12:32:31+00:00" + "time": "2024-01-11T20:47:48+00:00" }, { "name": "theseer/tokenizer", @@ -2012,10 +2014,10 @@ "ext-zlib": "*" }, "platform-dev": { - "php": ">=8.0", + "php": ">=7.4", "ext-phar": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/tests/app/Utils/dotpathUtilTest.php b/tests/app/Utils/dotpathUtilTest.php index e4eab3041..eb1a1d486 100644 --- a/tests/app/Utils/dotpathUtilTest.php +++ b/tests/app/Utils/dotpathUtilTest.php @@ -4,7 +4,7 @@ declare(strict_types=1); class dotpathUtilTest extends PHPUnit\Framework\TestCase { /** - * @return Traversable<array{array<string,mixed>,string,mixed}> + * @return Traversable<array{array<string,mixed>,string,string}> */ public function provideJsonDots(): Traversable { $json = <<<json @@ -37,7 +37,7 @@ class dotpathUtilTest extends PHPUnit\Framework\TestCase { * @dataProvider provideJsonDots * @param array<string,mixed> $array */ - public function testJsonDots(array $array, string $key, mixed $expected): void { + public function testJsonDots(array $array, string $key, string $expected): void { $value = FreshRSS_dotpath_Util::get($array, $key); self::assertEquals($expected, $value); } diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 447b038a4..f988855e6 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -1,7 +1,7 @@ <?php declare(strict_types=1); error_reporting(E_ALL); -ini_set('display_errors', 1); +ini_set('display_errors', '1'); const COPY_LOG_TO_SYSLOG = false; |
