From a81656c3ed5b8fe0f31794a4fbe0d1a907fca8e8 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Fri, 6 Sep 2024 09:06:46 +0200 Subject: Upgrade to PHP 8.1 (#6711) * Upgrade to PHP 8.1 As discussed in https://github.com/FreshRSS/FreshRSS/discussions/5474 https://www.php.net/releases/8.0/en.php https://www.php.net/releases/8.1/en.php Upgrade to available native type declarations https://php.net/language.types.declarations Upgrade to https://phpunit.de/announcements/phpunit-10.html which requires PHP 8.1+ (good timing, as version 9 was not maintained anymore) Upgrade `:oldest` Docker dev image to oldest Alpine version supporting PHP 8.1: Alpine 3.16, which includes PHP 8.1.22. * Include 6736 https://github.com/FreshRSS/FreshRSS/pull/6736 --- tests/app/Models/SearchTest.php | 77 +++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 42 deletions(-) (limited to 'tests/app/Models/SearchTest.php') diff --git a/tests/app/Models/SearchTest.php b/tests/app/Models/SearchTest.php index e01830314..27943cdb2 100644 --- a/tests/app/Models/SearchTest.php +++ b/tests/app/Models/SearchTest.php @@ -1,13 +1,14 @@ getRawInput()); self::assertNull($search->getIntitle()); @@ -25,7 +26,7 @@ class SearchTest extends PHPUnit\Framework\TestCase { * Here is the description of the values * @return array{array{''},array{' '}} */ - public function provideEmptyInput(): array { + public static function provideEmptyInput(): array { return [ [''], [' '], @@ -33,11 +34,11 @@ class SearchTest extends PHPUnit\Framework\TestCase { } /** - * @dataProvider provideIntitleSearch * @param array|null $intitle_value * @param array|null $search_value */ - public function test__construct_whenInputContainsIntitle_setsIntitleProperty(string $input, ?array $intitle_value, ?array $search_value): void { + #[DataProvider('provideIntitleSearch')] + public static function test__construct_whenInputContainsIntitle_setsIntitleProperty(string $input, ?array $intitle_value, ?array $search_value): void { $search = new FreshRSS_Search($input); self::assertEquals($intitle_value, $search->getIntitle()); self::assertEquals($search_value, $search->getSearch()); @@ -46,7 +47,7 @@ class SearchTest extends PHPUnit\Framework\TestCase { /** * @return array> */ - public function provideIntitleSearch(): array { + public static function provideIntitleSearch(): array { return [ ['intitle:word1', ['word1'], null], ['intitle:word1-word2', ['word1-word2'], null], @@ -70,11 +71,11 @@ class SearchTest extends PHPUnit\Framework\TestCase { } /** - * @dataProvider provideAuthorSearch * @param array|null $author_value * @param array|null $search_value */ - public function test__construct_whenInputContainsAuthor_setsAuthorValue(string $input, ?array $author_value, ?array $search_value): void { + #[DataProvider('provideAuthorSearch')] + public static function test__construct_whenInputContainsAuthor_setsAuthorValue(string $input, ?array $author_value, ?array $search_value): void { $search = new FreshRSS_Search($input); self::assertEquals($author_value, $search->getAuthor()); self::assertEquals($search_value, $search->getSearch()); @@ -83,7 +84,7 @@ class SearchTest extends PHPUnit\Framework\TestCase { /** * @return array> */ - public function provideAuthorSearch(): array { + public static function provideAuthorSearch(): array { return [ ['author:word1', ['word1'], null], ['author:word1-word2', ['word1-word2'], null], @@ -107,11 +108,11 @@ class SearchTest extends PHPUnit\Framework\TestCase { } /** - * @dataProvider provideInurlSearch * @param array|null $inurl_value * @param array|null $search_value */ - public function test__construct_whenInputContainsInurl_setsInurlValue(string $input, ?array $inurl_value, ?array $search_value): void { + #[DataProvider('provideInurlSearch')] + public static function test__construct_whenInputContainsInurl_setsInurlValue(string $input, ?array $inurl_value, ?array $search_value): void { $search = new FreshRSS_Search($input); self::assertEquals($inurl_value, $search->getInurl()); self::assertEquals($search_value, $search->getSearch()); @@ -120,7 +121,7 @@ class SearchTest extends PHPUnit\Framework\TestCase { /** * @return array> */ - public function provideInurlSearch(): array { + public static function provideInurlSearch(): array { return [ ['inurl:word1', ['word1'], null], ['inurl: word1', [], ['word1']], @@ -133,10 +134,8 @@ class SearchTest extends PHPUnit\Framework\TestCase { ]; } - /** - * @dataProvider provideDateSearch - */ - public function test__construct_whenInputContainsDate_setsDateValues(string $input, ?int $min_date_value, ?int $max_date_value): void { + #[DataProvider('provideDateSearch')] + public static function test__construct_whenInputContainsDate_setsDateValues(string $input, ?int $min_date_value, ?int $max_date_value): void { $search = new FreshRSS_Search($input); self::assertEquals($min_date_value, $search->getMinDate()); self::assertEquals($max_date_value, $search->getMaxDate()); @@ -145,7 +144,7 @@ class SearchTest extends PHPUnit\Framework\TestCase { /** * @return array> */ - public function provideDateSearch(): array { + public static function provideDateSearch(): array { return array( array('date:2007-03-01T13:00:00Z/2008-05-11T15:30:00Z', 1172754000, 1210519800), array('date:2007-03-01T13:00:00Z/P1Y2M10DT2H30M', 1172754000, 1210519799), @@ -156,10 +155,8 @@ class SearchTest extends PHPUnit\Framework\TestCase { ); } - /** - * @dataProvider providePubdateSearch - */ - public function test__construct_whenInputContainsPubdate_setsPubdateValues(string $input, ?int $min_pubdate_value, ?int $max_pubdate_value): void { + #[DataProvider('providePubdateSearch')] + public static function test__construct_whenInputContainsPubdate_setsPubdateValues(string $input, ?int $min_pubdate_value, ?int $max_pubdate_value): void { $search = new FreshRSS_Search($input); self::assertEquals($min_pubdate_value, $search->getMinPubdate()); self::assertEquals($max_pubdate_value, $search->getMaxPubdate()); @@ -168,7 +165,7 @@ class SearchTest extends PHPUnit\Framework\TestCase { /** * @return array> */ - public function providePubdateSearch(): array { + public static function providePubdateSearch(): array { return array( array('pubdate:2007-03-01T13:00:00Z/2008-05-11T15:30:00Z', 1172754000, 1210519800), array('pubdate:2007-03-01T13:00:00Z/P1Y2M10DT2H30M', 1172754000, 1210519799), @@ -180,11 +177,11 @@ class SearchTest extends PHPUnit\Framework\TestCase { } /** - * @dataProvider provideTagsSearch * @param array|null $tags_value * @param array|null $search_value */ - public function test__construct_whenInputContainsTags_setsTagsValue(string $input, ?array $tags_value, ?array $search_value): void { + #[DataProvider('provideTagsSearch')] + public static function test__construct_whenInputContainsTags_setsTagsValue(string $input, ?array $tags_value, ?array $search_value): void { $search = new FreshRSS_Search($input); self::assertEquals($tags_value, $search->getTags()); self::assertEquals($search_value, $search->getSearch()); @@ -193,7 +190,7 @@ class SearchTest extends PHPUnit\Framework\TestCase { /** * @return array|null>> */ - public function provideTagsSearch(): array { + public static function provideTagsSearch(): array { return [ ['#word1', ['word1'], null], ['# word1', null, ['#', 'word1']], @@ -207,14 +204,14 @@ class SearchTest extends PHPUnit\Framework\TestCase { } /** - * @dataProvider provideMultipleSearch * @param array|null $author_value * @param array $intitle_value * @param array|null $inurl_value * @param array|null $tags_value * @param array|null $search_value */ - public function test__construct_whenInputContainsMultipleKeywords_setsValues(string $input, ?array $author_value, ?int $min_date_value, + #[DataProvider('provideMultipleSearch')] + public static function test__construct_whenInputContainsMultipleKeywords_setsValues(string $input, ?array $author_value, ?int $min_date_value, ?int $max_date_value, ?array $intitle_value, ?array $inurl_value, ?int $min_pubdate_value, ?int $max_pubdate_value, ?array $tags_value, ?array $search_value): void { $search = new FreshRSS_Search($input); @@ -231,7 +228,7 @@ class SearchTest extends PHPUnit\Framework\TestCase { } /** @return array> */ - public function provideMultipleSearch(): array { + public static function provideMultipleSearch(): array { return array( array( 'author:word1 date:2007-03-01/2008-05-11 intitle:word2 inurl:word3 pubdate:2007-03-01/2008-05-11 #word4 #word5', @@ -284,15 +281,13 @@ class SearchTest extends PHPUnit\Framework\TestCase { ); } - /** - * @dataProvider provideAddOrParentheses - */ - public function test__addOrParentheses(string $input, string $output): void { + #[DataProvider('provideAddOrParentheses')] + public static function test__addOrParentheses(string $input, string $output): void { self::assertEquals($output, FreshRSS_BooleanSearch::addOrParentheses($input)); } /** @return array */ - public function provideAddOrParentheses(): array { + public static function provideAddOrParentheses(): array { return [ ['ab', 'ab'], ['ab cd', 'ab cd'], @@ -304,15 +299,13 @@ class SearchTest extends PHPUnit\Framework\TestCase { ]; } - /** - * @dataProvider provideconsistentOrParentheses - */ - public function test__consistentOrParentheses(string $input, string $output): void { + #[DataProvider('provideconsistentOrParentheses')] + public static function test__consistentOrParentheses(string $input, string $output): void { self::assertEquals($output, FreshRSS_BooleanSearch::consistentOrParentheses($input)); } /** @return array */ - public function provideconsistentOrParentheses(): array { + public static function provideconsistentOrParentheses(): array { return [ ['ab cd ef', 'ab cd ef'], ['(ab cd ef)', '(ab cd ef)'], @@ -332,9 +325,9 @@ class SearchTest extends PHPUnit\Framework\TestCase { } /** - * @dataProvider provideParentheses * @param array $values */ + #[DataProvider('provideParentheses')] public function test__parentheses(string $input, string $sql, array $values): void { [$filterValues, $filterSearch] = FreshRSS_EntryDAOPGSQL::sqlBooleanSearch('e.', new FreshRSS_BooleanSearch($input)); self::assertEquals(trim($sql), trim($filterSearch)); @@ -342,7 +335,7 @@ class SearchTest extends PHPUnit\Framework\TestCase { } /** @return array> */ - public function provideParentheses(): array { + public static function provideParentheses(): array { return [ [ 'f:1 (f:2 OR f:3 OR f:4) (f:5 OR (f:6 OR f:7))', -- cgit v1.2.3