diff options
Diffstat (limited to 'php-mock')
-rw-r--r-- | php-mock/.gitignore | 7 | ||||
-rw-r--r-- | php-mock/composer.json | 38 | ||||
-rw-r--r-- | php-mock/php-mock-autoload.php | 18 | ||||
-rw-r--r-- | php-mock/php-mock.spec | 59 |
4 files changed, 81 insertions, 41 deletions
diff --git a/php-mock/.gitignore b/php-mock/.gitignore new file mode 100644 index 0000000..1ab5c4f --- /dev/null +++ b/php-mock/.gitignore @@ -0,0 +1,7 @@ +package-*.xml +*.tgz +*.tar.gz +*.tar.xz +*.tar.xz.asc +*.src.rpm +*/*rpm diff --git a/php-mock/composer.json b/php-mock/composer.json new file mode 100644 index 0000000..b48be43 --- /dev/null +++ b/php-mock/composer.json @@ -0,0 +1,38 @@ +{ + "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"], + "homepage": "https://github.com/php-mock/php-mock", + "license": "WTFPL", + "authors": [ + { + "name": "Markus Malkusch", + "email": "markus@malkusch.de", + "homepage": "http://markus.malkusch.de", + "role": "Developer" + } + ], + "autoload": { + "psr-4": { + "phpmock\\": ["classes/", "tests/unit/"] + } + }, + "require": { + "php": ">=5.5", + "phpunit/php-text-template": "^1" + }, + "require-dev": { + "phpunit/phpunit": "^4|^5" + }, + "replace": { + "malkusch/php-mock": "*" + }, + "suggest": { + "php-mock/php-mock-phpunit": "Allows integration into PHPUnit testcase with the trait PHPMock.", + "php-mock/php-mock-mockery": "Allows using PHPMockery for Mockery integration" + }, + "archive": { + "exclude": ["/tests"] + } +} diff --git a/php-mock/php-mock-autoload.php b/php-mock/php-mock-autoload.php deleted file mode 100644 index c0ee5c2..0000000 --- a/php-mock/php-mock-autoload.php +++ /dev/null @@ -1,18 +0,0 @@ -<?php -/* Autoloader for php-mock/php-mock and its dependencies */ - -$vendorDir = '/usr/share/php'; -// Use Symfony autoloader -if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) { - if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) { - require_once $vendorDir . '/Symfony/Component/ClassLoader/ClassLoader.php'; - } - - $fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader(); - $fedoraClassLoader->register(); -} - -$fedoraClassLoader->addPrefix('phpmock\\', dirname(__DIR__)); - -// Dependencies -require_once $vendorDir . '/Text/Template/Autoload.php'; diff --git a/php-mock/php-mock.spec b/php-mock/php-mock.spec index 0450cf2..c5de4fd 100644 --- a/php-mock/php-mock.spec +++ b/php-mock/php-mock.spec @@ -14,26 +14,25 @@ Name: php-mock Version: 1.0.1 -Release: 2%{?dist} +Release: 4%{?dist} Summary: PHP-Mock can mock built-in PHP functions Group: Development/Libraries License: WTFPL 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 -Source1: %{name}-autoload.php -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: php(language) >= 5.5 %if %{with_tests} # from composer.json, "require-dev": { # "phpunit/phpunit": "^4|^5" +BuildRequires: php-composer(phpunit/php-text-template) < 2 BuildRequires: php-composer(phpunit/php-text-template) >= 1 BuildRequires: php-composer(phpunit/phpunit) > 4 %endif # For autoloader -BuildRequires: php-composer(symfony/class-loader) +BuildRequires: php-composer(fedora/autoloader) # from composer.json, "require": { # "php": ">=5.5", @@ -46,7 +45,7 @@ Requires: php-date Requires: php-reflection Requires: php-spl # For autoloader -Requires: php-composer(symfony/class-loader) +Requires: php-composer(fedora/autoloader) %if 0%{?fedora} > 21 # from composer.json, "suggest": { # "php-mock/php-mock-phpunit": "Allows integration into PHPUnit testcase with the trait PHPMock.", @@ -69,7 +68,25 @@ Autoloader: %{_datadir}/php/phpmock/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} -cp %{SOURCE1} classes/autoload.php +: Create autoloader +cat << 'AUTOLOAD' | tee classes/autoload.php +<?php +/* Autoloader for %{name} and its dependencies */ +require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php'; + +\Fedora\Autoloader\Autoload::addPsr4('phpmock\\', __DIR__); +\Fedora\Autoloader\Dependencies::required(array( + '%{_datadir}/php/Text/Template/Autoload.php', +)); +AUTOLOAD + +cat << 'AUTOLOAD' | tee tests/unit/autoload.php +<?php +/* Autoloader for %{name} tests */ + +require_once '%{_datadir}/php/phpmock/autoload.php'; +\Fedora\Autoloader\Autoload::addPsr4('phpmock\\', __DIR__); +AUTOLOAD %build @@ -77,38 +94,31 @@ cp %{SOURCE1} classes/autoload.php %install -rm -rf %{buildroot} # Library mkdir -p %{buildroot}%{_datadir}/php/ cp -pr classes %{buildroot}%{_datadir}/php/phpmock + # Unit tests mkdir -p %{buildroot}%{_datadir}/tests cp -pr tests/unit %{buildroot}%{_datadir}/tests/phpmock -cat <<'EOF' | tee %{buildroot}%{_datadir}/tests/phpmock/autoload.php -<?php -require_once '%{_datadir}/php/phpmock/autoload.php'; -$fedoraClassLoader->addPrefix('phpmock\\', '%{_datadir}/tests'); -EOF %check %if %{with_tests} -%{_bindir}/phpunit --bootstrap %{buildroot}%{_datadir}/php/phpmock/autoload.php - -if which php70; then - php70 %{_bindir}/phpunit --bootstrap %{buildroot}%{_datadir}/php/phpmock/autoload.php -fi +# TODO: local build fails, build in mock is ok +ret=0 +for cmd in php php56 php70 php71 php72; do + if which $cmd; then + %{_bindir}/phpunit --bootstrap %{buildroot}%{_datadir}/php/phpmock/autoload.php --verbose || ret=1 + fi +done +exit $ret %else : bootstrap build with test suite disabled %endif -%clean -rm -rf %{buildroot} - - %files -%defattr(-,root,root,-) %{!?_licensedir:%global license %%doc} %license LICENSE %doc composer.json @@ -118,8 +128,11 @@ rm -rf %{buildroot} %changelog +* Thu May 11 2017 Remi Collet <remi@remirepo.net> - 1.0.1-4 +- switch to fedora/autoloader + * Mon Feb 22 2016 Remi Collet <remi@fedoraproject.org> - 1.0.1-2 - Fix: license is WTFPL, from review #1306968 * Fri Feb 12 2016 Remi Collet <remi@fedoraproject.org> - 1.0.1-1 -- initial package
\ No newline at end of file +- initial package |