diff options
-rw-r--r-- | composer.json | 14 | ||||
-rw-r--r-- | php-mock2.spec | 134 |
2 files changed, 110 insertions, 38 deletions
diff --git a/composer.json b/composer.json index 5500e4e..f2d926e 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "php-mock/php-mock", "type": "library", "description": "PHP-Mock can mock built-in PHP functions (e.g. time()). PHP-Mock relies on PHP's namespace fallback policy. No further extension is needed.", - "keywords": ["mock", "stub", "test double", "function", "test", "TDD", "BDD"], + "keywords": ["mock", "stub", "test double", "function", "test", "testing", "TDD", "BDD"], "homepage": "https://github.com/php-mock/php-mock", "license": "WTFPL", "authors": [ @@ -14,25 +14,27 @@ } ], "autoload": { + "files": ["autoload.php"], "psr-4": { "phpmock\\": ["classes/", "tests/"] } }, "autoload-dev": { - "files": ["autoload.php"] + "files": ["tests/autoload.php"] }, "require": { - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1" + "php": "^5.6 || ^7.0 || ^8.0", + "phpunit/php-text-template": "^1 || ^2 || ^3 || ^4" }, "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.0" + "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.0 || ^9.0 || ^10.0 || ^11.0", + "squizlabs/php_codesniffer": "^3.8" }, "replace": { "malkusch/php-mock": "*" }, "suggest": { - "php-mock/php-mock-phpunit": "Allows integration into PHPUnit testcase with the trait PHPMock." + "php-mock/php-mock-phpunit": "Allows integration into PHPUnit testcase with the trait PHPMock." }, "archive": { "exclude": ["/tests"] diff --git a/php-mock2.spec b/php-mock2.spec index fd20d39..e297023 100644 --- a/php-mock2.spec +++ b/php-mock2.spec @@ -1,20 +1,21 @@ # remirepo/fedora spec file for php-mock2 # -# Copyright (c) 2016-2019 Remi Collet -# License: CC-BY-SA +# Copyright (c) 2016-2024 Remi Collet +# License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # -%global gh_commit 35379d7b382b787215617f124662d9ead72c15e3 +%global gh_commit fff1a621ebe54100fa3bd852e7be57773a0c0127 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_date 2024-02-10 %global gh_owner php-mock %global gh_project php-mock %global with_tests 0%{!?_without_tests:1} %global major 2 Name: php-mock%{major} -Version: 2.1.2 +Version: 2.5.0 Release: 1%{?dist} Summary: PHP-Mock can mock built-in PHP functions @@ -23,32 +24,27 @@ URL: https://github.com/%{gh_owner}/%{gh_project} Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz BuildArch: noarch -BuildRequires: php(language) >= 5.6 +# 7.4 because of phpunit9 +BuildRequires: php(language) >= 7.4 %if %{with_tests} # from composer.json, "require-dev": { -# "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.0" -# remirepo:1 -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -BuildRequires: (php-composer(phpunit/php-text-template) >= 1 with php-composer(phpunit/php-text-template) < 2) -BuildRequires: phpunit7 -%global phpunit %{_bindir}/phpunit7 -# remirepo:5 -%else -BuildRequires: php-phpunit-Text-Template -BuildRequires: php-phpunit-PHPUnit >= 5.7 -%global phpunit %{_bindir}/phpunit -%endif +# "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.0 || ^9.0 || ^10.0|| ^11.0", +# "squizlabs/php_codesniffer": "^3.5" +BuildRequires: phpunit8 +BuildRequires: phpunit9 +BuildRequires: phpunit10 +# TODO phpunit11 but requires php 8.2 %endif # For autoloader BuildRequires: php-composer(fedora/autoloader) # from composer.json, "require": { -# "php": "^5.6 || ^7.0", -# "phpunit/php-text-template": "^1" +# "php": "^5.6 || ^7.0 || ^8.0", +# "phpunit/php-text-template": "^1 || ^2 || ^3 || ^4") Requires: php(language) >= 5.6 # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -Requires: (php-composer(phpunit/php-text-template) >= 1 with php-composer(phpunit/php-text-template) < 2) +Requires: (php-composer(phpunit/php-text-template) >= 1 with php-composer(phpunit/php-text-template) < 5) # remirepo:3 %else Requires: php-phpunit-Text-Template @@ -82,6 +78,7 @@ Autoloader: %{_datadir}/php/phpmock%{major}/autoload.php %setup -q -n %{gh_project}-%{gh_commit} : Prepare the layout +mv tests/autoload.php testload.php mkdir -p rpm/tests rpm/php mv classes rpm/php/phpmock%{major} mv tests rpm/tests/phpmock%{major} @@ -94,11 +91,26 @@ require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php'; \Fedora\Autoloader\Autoload::addPsr4('phpmock\\', __DIR__); \Fedora\Autoloader\Autoload::addPsr4('phpmock\\', dirname(dirname(__DIR__)) . '/tests/phpmock%{major}'); -\Fedora\Autoloader\Dependencies::required(array( - '%{_datadir}/php/Text/Template/Autoload.php', -)); +if (PHP_VERSION_ID >= 80200) { + $deps = [ + '%{_datadir}/php/SebastianBergmann/Template4/autoload.php', + '%{_datadir}/php/SebastianBergmann/Template3/autoload.php', + '%{_datadir}/php/SebastianBergmann/Template2/autoload.php', + '%{_datadir}/php/Text/Template/Autoload.php', + ]; +} else { + $deps = [ + '%{_datadir}/php/SebastianBergmann/Template3/autoload.php', + '%{_datadir}/php/SebastianBergmann/Template2/autoload.php', + '%{_datadir}/php/Text/Template/Autoload.php', + ]; +} +\Fedora\Autoloader\Dependencies::required([ + $deps, +]); AUTOLOAD grep -v '<?php' autoload.php >>rpm/php/phpmock%{major}/autoload.php +grep -v '<?php' testload.php >>rpm/php/phpmock%{major}/autoload.php ln -s ../../php/phpmock%{major}/autoload.php rpm/tests/phpmock%{major}/autoload.php @@ -120,16 +132,48 @@ cp -pr rpm/tests %{buildroot}%{_datadir}/tests %check %if %{with_tests} -# TODO: local build fails, build in mock is ok -# TODO: php 7.4: There was 1 failure: -# see https://github.com/php-mock/php-mock/issues/28 ret=0 -for cmdarg in "php %{phpunit}" "php71 %{_bindir}/phpunit7" "php72 %{_bindir}/phpunit8" "php73 %{_bindir}/phpunit8"; do - if which $cmdarg; then - set $cmdarg - $1 $2 --bootstrap %{buildroot}%{_datadir}/tests/phpmock2/autoload.php --verbose rpm/tests|| ret=1 - fi -done +# testDefiningAfterCallingUnqualified and testEnable may fail locally (ok in mock) + +if [ -x %{_bindir}/phpunit8 ]; then + for cmd in php php80 php81 php82;do + if which $cmd; then + $cmd %{_bindir}/phpunit8 \ + --filter '^((?!(testDefiningAfterCallingUnqualified|testEnable)).)*$' \ + --bootstrap %{buildroot}%{_datadir}/tests/phpmock2/autoload.php --verbose rpm/tests || ret=1 + fi + done +fi + +if [ -x %{_bindir}/phpunit9 ]; then + for cmd in php php80 php81 php82 php83;do + if which $cmd; then + $cmd %{_bindir}/phpunit9 \ + --filter '^((?!(testDefiningAfterCallingUnqualified|testEnable)).)*$' \ + --bootstrap %{buildroot}%{_datadir}/tests/phpmock2/autoload.php --verbose rpm/tests || ret=1 + fi + done +fi + +if [ -x %{_bindir}/phpunit10 ]; then + for cmd in php php81 php82 php83;do + if which $cmd; then + $cmd %{_bindir}/phpunit10 \ + --filter '^((?!(testDefiningAfterCallingUnqualified|testEnable)).)*$' \ + --bootstrap %{buildroot}%{_datadir}/tests/phpmock2/autoload.php rpm/tests || ret=1 + fi + done +fi + +if [ -x %{_bindir}/phpunit11 ]; then + for cmd in php php82 php83;do + if which $cmd; then + $cmd %{_bindir}/phpunit11 \ + --filter '^((?!(testDefiningAfterCallingUnqualified|testEnable)).)*$' \ + --bootstrap %{buildroot}%{_datadir}/tests/phpmock2/autoload.php rpm/tests || ret=1 + fi + done +fi exit $ret %else : bootstrap build with test suite disabled @@ -137,6 +181,7 @@ exit $ret %files +# remirepo:1 %{!?_licensedir:%global license %%doc} %license LICENSE %doc composer.json @@ -146,6 +191,31 @@ exit $ret %changelog +* Mon Feb 12 2024 Remi Collet <remi@remirepo.net> - 2.5.0-1 +- update to 2.5.0 +- allow phpunit10 + +* Tue Jun 13 2023 Remi Collet <remi@remirepo.net> - 2.4.1-1 +- update to 2.4.1 (no change) + +* Mon Feb 13 2023 Remi Collet <remi@remirepo.net> - 2.4.0-1 +- update to 2.4.0 +- allow phpunit10 + +* Tue Feb 8 2022 Remi Collet <remi@remirepo.net> - 2.3.1-1 +- update to 2.3.1 + +* Mon Dec 14 2020 Remi Collet <remi@remirepo.net> - 2.3.0-1 +- update to 2.3.0 +- switch to phpunit9 + +* Mon Apr 20 2020 Remi Collet <remi@remirepo.net> - 2.2.2-1 +- update to 2.2.2 + +* Mon Feb 10 2020 Remi Collet <remi@remirepo.net> - 2.2.1-1 +- update to 2.2.1 +- allow phpunit9 and phpunit/php-text-template v2 + * Thu Jun 6 2019 Remi Collet <remi@remirepo.net> - 2.1.2-1 - update to 2.1.2 |