diff options
| -rw-r--r-- | .gitignore | 7 | ||||
| -rw-r--r-- | php-behat-mink-pull-736.patch | 29 | ||||
| -rw-r--r-- | php-behat-mink.spec | 134 | 
3 files changed, 96 insertions, 74 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1ab5c4f --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +package-*.xml +*.tgz +*.tar.gz +*.tar.xz +*.tar.xz.asc +*.src.rpm +*/*rpm diff --git a/php-behat-mink-pull-736.patch b/php-behat-mink-pull-736.patch new file mode 100644 index 0000000..ceab27a --- /dev/null +++ b/php-behat-mink-pull-736.patch @@ -0,0 +1,29 @@ +From ff4933f553ad32ff7ed4cc0b2d311420f53b7655 Mon Sep 17 00:00:00 2001 +From: Shawn Iwinski <siwinski@redhat.com> +Date: Thu, 11 May 2017 23:02:24 -0400 +Subject: [PATCH] [Selector/NamedSelector] Fix PHP 7.2 count() errors + +--- + src/Selector/NamedSelector.php | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/Selector/NamedSelector.php b/src/Selector/NamedSelector.php +index d1936cc..600d891 100644 +--- a/src/Selector/NamedSelector.php ++++ b/src/Selector/NamedSelector.php +@@ -199,11 +199,13 @@ public function registerNamedXpath($name, $xpath) +      */ +     public function translateToXPath($locator) +     { +-        if (2 < count($locator)) { ++        $isArray = is_array($locator); ++ ++        if ($isArray && (2 < count($locator))) { +             throw new \InvalidArgumentException('NamedSelector expects array(name, locator) as argument'); +         } +  +-        if (2 == count($locator)) { ++        if ($isArray && (2 == count($locator))) { +             $selector = $locator[0]; +             $locator = $locator[1]; +         } else { diff --git a/php-behat-mink.spec b/php-behat-mink.spec index b0e526f..1a5ed73 100644 --- a/php-behat-mink.spec +++ b/php-behat-mink.spec @@ -2,7 +2,7 @@  #  # Fedora spec file for php-behat-mink  # -# Copyright (c) 2015 Shawn Iwinski <shawn@iwin.ski> +# Copyright (c) 2015-2017 Shawn Iwinski <shawn@iwin.ski>  #  # License: MIT  # http://opensource.org/licenses/MIT @@ -33,7 +33,7 @@  Name:          php-%{composer_vendor}-%{composer_project}  Version:       %{github_version} -Release:       1%{?dist} +Release:       3%{?dist}  Summary:       Browser controller/emulator abstraction for PHP  Group:         Development/Libraries @@ -47,14 +47,18 @@ Source1:       %{name}-get-source.sh  # Modify driver testsuite bootstrap  Patch0:        %{name}-driver-testsuite-bootstrap.patch +# [Selector/NamedSelector] Fix PHP 7.2 count() errors +# https://github.com/minkphp/Mink/pull/736 +# https://github.com/minkphp/Mink/pull/736.patch +Patch1:        %{name}-pull-736.patch -BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)  BuildArch:     noarch  # Tests  %if %{with_tests}  ## composer.json -BuildRequires: php(language)                      >= %{php_min_ver} +BuildRequires: php(language) >= %{php_min_ver}  BuildRequires: php-composer(phpunit/phpunit) +BuildRequires: php-composer(symfony/css-selector) <  %{symfony_max_ver}  BuildRequires: php-composer(symfony/css-selector) >= %{symfony_min_ver}  ## phpcompatinfo (computed from version 1.7.1)  BuildRequires: php-dom @@ -66,11 +70,11 @@ BuildRequires: php-reflection  BuildRequires: php-session  BuildRequires: php-spl  ## Autoloader -BuildRequires: php-composer(symfony/class-loader) +BuildRequires: php-composer(fedora/autoloader)  %endif  # composer.json -Requires:      php(language)                      >= %{php_min_ver} +Requires:      php(language) >= %{php_min_ver}  Requires:      php-composer(symfony/css-selector) >= %{symfony_min_ver}  Requires:      php-composer(symfony/css-selector) <  %{symfony_max_ver}  # phpcompatinfo (computed from version 1.7.1) @@ -78,7 +82,7 @@ Requires:      php-mbstring  Requires:      php-pcre  Requires:      php-spl  # Autoloader -Requires:      php-composer(symfony/class-loader) +Requires:      php-composer(fedora/autoloader)  # Composer  Provides:      php-composer(%{composer_vendor}/%{composer_project}) = %{version} @@ -134,31 +138,12 @@ Bootstrap: %{testsdir}/%{name}-driver-testsuite/boostrap.php  %prep  %setup -qn %{github_name}-%{github_commit} -: Make PSR-0 driver testsuite tests -# Separate "tests-psr0" and "tests" directories so driver testsuite users (other -#     packages) do not need to update their code -mkdir -p driver-testsuite/tests-psr0/Behat/Mink/Tests/ -ln -s ../../../../tests driver-testsuite/tests-psr0/Behat/Mink/Tests/Driver - -: Create driver testsuite autoloader -cat <<'AUTOLOAD' | tee driver-testsuite/autoload.php -<?php -/** - * Autoloader for %{name}-driver-testsuite and its' dependencies - * (created by %{name}-driver-testsuite-%{version}-%{release}). - * - * @return \Symfony\Component\ClassLoader\ClassLoader - */ - -$fedoraClassLoader = require '%{phpdir}/Behat/Mink/autoload.php'; -$fedoraClassLoader->addPrefix('Behat\\Mink\\Tests\\Driver\\', __DIR__ . '/tests-psr0'); - -return $fedoraClassLoader; -AUTOLOAD -  : Patch driver testsuite bootstrap  %patch0 -p1 +: [Selector/NamedSelector] Fix PHP 7.2 count function errors +%patch1 -p1 +  %build  : Create library autoloader @@ -167,30 +152,34 @@ cat <<'AUTOLOAD' | tee src/autoload.php  /**   * Autoloader for %{name} and its' dependencies   * (created by %{name}-%{version}-%{release}). - * - * @return \Symfony\Component\ClassLoader\ClassLoader   */ +require_once '%{phpdir}/Fedora/Autoloader/autoload.php'; -if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) { -    if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) { -        require_once '%{phpdir}/Symfony/Component/ClassLoader/ClassLoader.php'; -    } +\Fedora\Autoloader\Autoload::addPsr4('Behat\\Mink\\', __DIR__); -    $fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader(); -    $fedoraClassLoader->register(); -} +\Fedora\Autoloader\Dependencies::required(array( +    '%{phpdir}/Symfony/Component/CssSelector/autoload.php', +)); +AUTOLOAD -$fedoraClassLoader->addPrefix('Behat\\Mink\\', dirname(dirname(__DIR__))); +: Create driver testsuite autoloader +cat <<'AUTOLOAD' | tee driver-testsuite/autoload.php +<?php +/** + * Autoloader for %{name} and its' dependencies + * (created by %{name}-%{version}-%{release}). + */ +require_once '%{phpdir}/Fedora/Autoloader/autoload.php'; -require_once '%{phpdir}/Symfony/Component/CssSelector/autoload.php'; +\Fedora\Autoloader\Autoload::addPsr4('Behat\\Mink\\Tests\\Driver\\', __DIR__.'/tests'); -return $fedoraClassLoader; +\Fedora\Autoloader\Dependencies::required(array( +    '%{phpdir}/Behat/Mink/autoload.php', +));  AUTOLOAD  %install -rm -rf %{buildroot} -  : Library  mkdir -p  %{buildroot}%{phpdir}/Behat/Mink  cp -pr src/* %{buildroot}%{phpdir}/Behat/Mink/ @@ -202,49 +191,38 @@ cp -pr driver-testsuite %{buildroot}%{testsdir}/%{name}-driver-testsuite  %check  %if %{with_tests} -: Make PSR-0 tests -mkdir -p tests-psr0/Behat/Mink/ -ln -s ../../../tests tests-psr0/Behat/Mink/Tests -  : Create tests autoloader -cat <<'AUTOLOAD' | tee tests-psr0/autoload.php +cat <<'AUTOLOAD' | tee bootstrap.php  <?php -$fedoraClassLoader = require_once '%{buildroot}%{phpdir}/Behat/Mink/autoload.php'; -$fedoraClassLoader->addPrefix('Behat\\Mink\\Tests\\', __DIR__); +require_once '%{buildroot}%{phpdir}/Behat/Mink/autoload.php'; +\Fedora\Autoloader\Autoload::addPsr4('Behat\\Mink\\Tests\\', __DIR__.'/tests');  AUTOLOAD -%if 0%{?el5} -sed -e 's/function testEscapedSelectors/function SKIP_testEscapedSelectors/' \ -    -e 's/function testSelectors/function SKIP_testSelectors/' \ -    -i tests/Selector/NamedSelectorTest.php +%if 0%{?el6} +: Skip tests requiring PHPUnit with the "willReturn" function +sed 's/function testCreateNodeElements/function SKIP_testCreateNodeElements/' \ +    -i tests/Driver/CoreDriverTest.php +sed 's/function testGetResponseHeader/function SKIP_testGetResponseHeader/' \ +    -i tests/SessionTest.php +sed 's/function testAddressEqualsEmptyPath/function SKIP_testAddressEqualsEmptyPath/' \ +    -i tests/WebAssertTest.php  %endif -: Run tests -run=0 -ret=0 -if which php56; then -   php56 %{_bindir}/phpunit --bootstrap tests-psr0/autoload.php || ret=1 -   run=1 -fi -if which php71; then -   php71 %{_bindir}/phpunit --bootstrap tests-psr0/autoload.php || ret=1 -   run=1 -fi -if [ $run -eq 0 ]; then -%{_bindir}/phpunit --verbose --bootstrap tests-psr0/autoload.php -fi -exit $ret +: Upstream tests +RETURN_CODE=0 +PHPUNIT=$(which phpunit) +for PHP_EXEC in "" %{?rhel:php54 php55} php56 php70 php71 php72; do +    if [ -z "$PHP_EXEC" ] || which $PHP_EXEC; then +        $PHP_EXEC $PHPUNIT --verbose --bootstrap bootstrap.php || RETURN_CODE=1 +    fi +done +exit $RETURN_CODE  %else  : Tests skipped  %endif -%clean -rm -rf %{buildroot} - -  %files -%defattr(-,root,root,-)  %{!?_licensedir:%global license %%doc}  %license LICENSE  %doc *.md @@ -258,6 +236,14 @@ rm -rf %{buildroot}  %changelog +* Fri May 12 2017 Shawn Iwinski <shawn@iwin.ski> - 1.7.1-3 +- Switch autoloader to php-composer(fedora/autoloader) +- Add max versions to build dependencies +- Test with SCLs if available + +* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild +  * Tue Aug 09 2016 Shawn Iwinski <shawn@iwin.ski> - 1.7.1-1  - Updated to 1.7.1 (RHBZ #1314987)  | 
