summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore7
-rw-r--r--php-symfony-psr-http-message-bridge-upstream-pull-31.patch137
-rw-r--r--php-symfony-psr-http-message-bridge.spec134
3 files changed, 221 insertions, 57 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-symfony-psr-http-message-bridge-upstream-pull-31.patch b/php-symfony-psr-http-message-bridge-upstream-pull-31.patch
new file mode 100644
index 0000000..9d0ca3c
--- /dev/null
+++ b/php-symfony-psr-http-message-bridge-upstream-pull-31.patch
@@ -0,0 +1,137 @@
+From f5c46f0ff42ac4cd2557a48a14bdb85c6f48d65f Mon Sep 17 00:00:00 2001
+From: Christian Flothmann <christian.flothmann@sensiolabs.de>
+Date: Thu, 4 May 2017 21:07:18 +0200
+Subject: [PATCH] test suite compatibility with PHPUnit 6
+
+---
+ .travis.yml | 17 +++++++++--------
+ Tests/Factory/DiactorosFactoryTest.php | 9 +++++++--
+ Tests/Factory/HttpFoundationFactoryTest.php | 4 ++--
+ composer.json | 2 +-
+ 4 files changed, 19 insertions(+), 13 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 3008471..da2f48c 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -5,6 +5,7 @@ sudo: false
+ cache:
+ directories:
+ - $HOME/.composer/cache/files
++ - $HOME/symfony-bridge/.phpunit
+
+ matrix:
+ include:
+@@ -13,9 +14,9 @@ matrix:
+ - php: 5.5
+ - php: 5.6
+ - php: 5.3
+- env: deps=low
++ env: COMPOSER_OPTIONS="--prefer-lowest --prefer-stable" SYMFONY_DEPRECATIONS_HELPER=weak
+ - php: 5.6
+- env: deps=high
++ env: COMPOSER_OPTIONS="" SYMFONY_DEPRECATIONS_HELPER=weak
+ - php: 7.0
+ - php: hhvm
+ allow_failures:
+@@ -25,7 +26,9 @@ matrix:
+ env:
+ global:
+ - deps=no
+- - SYMFONY_DEPRECATIONS_HELPER=weak
++ - SYMFONY_DEPRECATIONS_HELPER=strict
++ - SYMFONY_PHPUNIT_DIR="$HOME/symfony-bridge/.phpunit"
++ - COMPOSER_OPTIONS="--prefer-stable"
+
+ before_install:
+ - if [[ "$TRAVIS_PHP_VERSION" != "nightly" ]] && [[ "$TRAVIS_PHP_VERSION" != "hhvm" ]]; then phpenv config-rm xdebug.ini; fi;
+@@ -37,10 +40,8 @@ before_install:
+
+ install:
+ - if [ "$TRAVIS_PHP_VERSION" != "5.3" ]; then composer require --no-update zendframework/zend-diactoros; fi;
+- - if [ "$deps" = "no" ]; then export SYMFONY_DEPRECATIONS_HELPER=strict; fi;
+- - if [ "$deps" = "no" ]; then composer --prefer-source install; fi;
+- - if [ "$deps" = "high" ]; then composer --prefer-source update; fi;
+- - if [ "$deps" = "low" ]; then composer --prefer-source --prefer-lowest --prefer-stable update; fi;
++ - composer update --prefer-source $COMPOSER_OPTIONS
++ - vendor/bin/simple-phpunit install
+
+ script:
+- - phpunit
++ - vendor/bin/simple-phpunit
+diff --git a/Tests/Factory/DiactorosFactoryTest.php b/Tests/Factory/DiactorosFactoryTest.php
+index ddf0806..fbc1ce8 100644
+--- a/Tests/Factory/DiactorosFactoryTest.php
++++ b/Tests/Factory/DiactorosFactoryTest.php
+@@ -11,6 +11,7 @@
+
+ namespace Symfony\Bridge\PsrHttpMessage\Tests\Factory;
+
++use PHPUnit\Framework\TestCase;
+ use Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory;
+ use Symfony\Component\HttpFoundation\BinaryFileResponse;
+ use Symfony\Component\HttpFoundation\Cookie;
+@@ -22,7 +23,7 @@
+ /**
+ * @author Kévin Dunglas <dunglas@gmail.com>
+ */
+-class DiactorosFactoryTest extends \PHPUnit_Framework_TestCase
++class DiactorosFactoryTest extends TestCase
+ {
+ private $factory;
+ private $tmpDir;
+@@ -143,7 +144,11 @@ public function testCreateResponse()
+ $this->assertEquals('Response content.', $psrResponse->getBody()->__toString());
+ $this->assertEquals(202, $psrResponse->getStatusCode());
+ $this->assertEquals(array('2.8'), $psrResponse->getHeader('X-Symfony'));
+- $this->assertEquals(array('city=Lille; expires=Wed, 13-Jan-2021 22:23:01 GMT; path=/; httponly'), $psrResponse->getHeader('Set-Cookie'));
++
++ $cookieHeader = $psrResponse->getHeader('Set-Cookie');
++ $this->assertInternalType('array', $cookieHeader);
++ $this->assertCount(1, $cookieHeader);
++ $this->assertRegExp('{city=Lille; expires=Wed, 13-Jan-2021 22:23:01 GMT;( max-age=\d+;)? path=/; httponly}', $cookieHeader[0]);
+ }
+
+ public function testCreateResponseFromStreamed()
+diff --git a/Tests/Factory/HttpFoundationFactoryTest.php b/Tests/Factory/HttpFoundationFactoryTest.php
+index 47ef4e3..8790a20 100644
+--- a/Tests/Factory/HttpFoundationFactoryTest.php
++++ b/Tests/Factory/HttpFoundationFactoryTest.php
+@@ -11,6 +11,7 @@
+
+ namespace Symfony\Bridge\PsrHttpMessage\Tests\Factory;
+
++use PHPUnit\Framework\TestCase;
+ use Psr\Http\Message\UploadedFileInterface;
+ use Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory;
+ use Symfony\Bridge\PsrHttpMessage\Tests\Fixtures\Response;
+@@ -22,7 +23,7 @@
+ /**
+ * @author Kévin Dunglas <dunglas@gmail.com>
+ */
+-class HttpFoundationFactoryTest extends \PHPUnit_Framework_TestCase
++class HttpFoundationFactoryTest extends TestCase
+ {
+ /** @var HttpFoundationFactory */
+ private $factory;
+@@ -198,7 +199,6 @@ public function testCreateResponse()
+ 'theme=light',
+ 'test',
+ 'ABC=AeD; Domain=dunglas.fr; Path=/kevin; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Secure; HttpOnly',
+-
+ ),
+ ),
+ new Stream('The response body'),
+diff --git a/composer.json b/composer.json
+index ad25080..90412ac 100644
+--- a/composer.json
++++ b/composer.json
+@@ -21,7 +21,7 @@
+ "symfony/http-foundation": "~2.3|~3.0"
+ },
+ "require-dev": {
+- "symfony/phpunit-bridge": "~2.7|~3.0"
++ "symfony/phpunit-bridge": "~3.2"
+ },
+ "suggest": {
+ "psr/http-message-implementation": "To use the HttpFoundation factory",
diff --git a/php-symfony-psr-http-message-bridge.spec b/php-symfony-psr-http-message-bridge.spec
index 38acc15..aed1ecc 100644
--- a/php-symfony-psr-http-message-bridge.spec
+++ b/php-symfony-psr-http-message-bridge.spec
@@ -1,9 +1,8 @@
# remirepo spec file for php-symfony-psr-http-message-bridge, from:
#
-#
# Fedora spec file for php-symfony-psr-http-message-bridge
#
-# Copyright (c) 2015 Shawn Iwinski <shawn.iwinski@gmail.com>
+# Copyright (c) 2015-2017 Shawn Iwinski <shawn.iwinski@gmail.com>
#
# License: MIT
# http://opensource.org/licenses/MIT
@@ -13,8 +12,8 @@
%global github_owner symfony
%global github_name psr-http-message-bridge
-%global github_version 0.2
-%global github_commit dc7e308e1dc2898a46776e2221a643cb08315453
+%global github_version 1.0.0
+%global github_commit 66085f246d3893cbdbcec5f5ad15ac60546cf0de
%global composer_vendor symfony
%global composer_project psr-http-message-bridge
@@ -25,7 +24,8 @@
%global psr_http_message_min_ver 1.0
%global psr_http_message_max_ver 2.0
# "symfony/http-foundation": "~2.3|~3.0"
-%global symfony_min_ver %{?el6:2.3.31}%{!?el6:2.7.3}
+# NOTE: Min version not 2.3 because autoloader required
+%global symfony_min_ver %{?el6:2.3.31}%{!?el6:2.7.1}
%global symfony_max_ver 4.0
%global with_zend_diactoros 0%{!?el6:1}
@@ -37,7 +37,7 @@
Name: php-%{composer_vendor}-%{composer_project}
Version: %{github_version}
-Release: 2%{?github_release}%{?dist}
+Release: 3%{?github_release}%{?dist}
Summary: Symfony PSR HTTP message bridge
Group: Development/Libraries
@@ -45,114 +45,123 @@ License: MIT
URL: https://github.com/%{github_owner}/%{github_name}
Source0: %{url}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+# Fix test suite with !el6 and zendframework/zend-diactoros
+# https://github.com/symfony/psr-http-message-bridge/pull/31
+Patch0: %{name}-upstream-pull-31.patch
+
BuildArch: noarch
# Tests
%if %{with_tests}
%if %{with_zend_diactoros}
BuildRequires: php-composer(zendframework/zend-diactoros)
%endif
-BuildRequires: %{_bindir}/phpunit
+BuildRequires: php-composer(phpunit/phpunit)
## composer.json
-BuildRequires: php(language) >= %{php_min_ver}
-BuildRequires: php-composer(psr/http-message) >= %{psr_http_message_min_ver}
+BuildRequires: php(language) >= %{php_min_ver}
+BuildRequires: php-composer(psr/http-message) < %{psr_http_message_max_ver}
+BuildRequires: php-composer(psr/http-message) >= %{psr_http_message_min_ver}
+BuildRequires: php-composer(symfony/http-foundation) < %{symfony_max_ver}
BuildRequires: php-composer(symfony/http-foundation) >= %{symfony_min_ver}
-## phpcompatinfo (computed from version 0.2)
+## phpcompatinfo (computed from version 1.0.0)
BuildRequires: php-date
BuildRequires: php-reflection
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-composer(psr/http-message) >= %{psr_http_message_min_ver}
-Requires: php-composer(psr/http-message) < %{psr_http_message_max_ver}
-Requires: php-composer(symfony/http-foundation) >= %{symfony_min_ver}
+Requires: php(language) >= %{php_min_ver}
+Requires: php-composer(psr/http-message) < %{psr_http_message_max_ver}
+Requires: php-composer(psr/http-message) >= %{psr_http_message_min_ver}
Requires: php-composer(symfony/http-foundation) < %{symfony_max_ver}
-# phpcompatinfo (computed from version 0.2)
+Requires: php-composer(symfony/http-foundation) >= %{symfony_min_ver}
+# phpcompatinfo (computed from version 1.0.0)
Requires: php-date
Requires: php-spl
# Autoloader
-Requires: php-composer(symfony/class-loader)
+Requires: php-composer(fedora/autoloader)
+
+# Weak dependencies
+%if 0%{?fedora} >= 21
+Suggests: php-composer(psr/http-message-implementation)
+%if %{with_zend_diactoros}
+Suggests: php-composer(zendframework/zend-diactoros)
+%endif
+%endif
# Composer
Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version}
%description
Provides integration for PSR7.
-%if %{with_zend_diactoros}
-Optional:
-* php-zendframework-zend-diactoros: To use the Zend Diactoros factory
-%endif
+
+Autoloader: %{phpdir}/Symfony/Bridge/PsrHttpMessage/autoload.php
%prep
%setup -qn %{github_name}-%{github_commit}
+%if 0%{!?el6:1}
+%patch0 -p1
+%endif
+
+
+%build
: Create autoloader
cat <<'AUTOLOAD' | tee autoload.php
<?php
/**
* Autoloader for %{name} and its' dependencies
- *
- * Created by %{name}-%{version}-%{release}
- *
- * @return \Symfony\Component\ClassLoader\ClassLoader
+ * (created by %{name}-%{version}-%{release}).
*/
+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';
- }
-
- $fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader();
- $fedoraClassLoader->register();
-}
+\Fedora\Autoloader\Autoload::addPsr4('Symfony\\Bridge\\PsrHttpMessage\\', __DIR__);
-$fedoraClassLoader->addPrefix('Symfony\\Bridge\\PsrHttpMessage\\', dirname(dirname(dirname(__DIR__))));
+\Fedora\Autoloader\Dependencies::required(array(
+ '%{phpdir}/Psr/Http/Message/autoload.php',
+ array(
+ '%{phpdir}/Symfony3/Component/HttpFoundation/autoload.php',
+ '%{phpdir}/Symfony/Component/HttpFoundation/autoload.php',
+ ),
+));
+AUTOLOAD
-require_once '%{phpdir}/Psr/Http/Message/autoload.php';
-require_once '%{phpdir}/Symfony/Component/HttpFoundation/autoload.php';
%if %{with_zend_diactoros}
+cat <<'AUTOLOAD' | tee -a autoload.php
-if (file_exists('%{phpdir}/Zend/Diactoros/autoload.php')) {
- require_once '%{phpdir}/Zend/Diactoros/autoload.php';
-}
-%endif
-
-return $fedoraClassLoader;
+\Fedora\Autoloader\Dependencies::optional(array(
+ '%{phpdir}/Zend/Diactoros/autoload.php',
+));
AUTOLOAD
-
-
-%build
-# Empty build section, nothing required
+%endif
%install
-rm -rf %{buildroot}
-
mkdir -p %{buildroot}%{phpdir}/Symfony/Bridge/PsrHttpMessage
cp -rp *.php Factory Tests %{buildroot}%{phpdir}/Symfony/Bridge/PsrHttpMessage/
%check
%if %{with_tests}
-: Run tests
-%{_bindir}/phpunit --verbose \
- --bootstrap %{buildroot}%{phpdir}/Symfony/Bridge/PsrHttpMessage/autoload.php
+: 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 %{buildroot}%{phpdir}/Symfony/Bridge/PsrHttpMessage/autoload.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
@@ -162,6 +171,17 @@ rm -rf %{buildroot}
%changelog
+* Thu Sep 21 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.0.0-3
+- Allow Symfony 3
+- Modify tests
+- Apply patch to fix test suite with !el6 and zendframework/zend-diactoros
+
+* Sat Apr 15 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.0.0-1
+- Update to 1.0.0 (RHBZ #1370802)
+- Add max versions to BuildRequires
+- Switch autoloader to php-composer(fedora/autoloader)
+- Test with SCLs if available
+
* Wed Aug 5 2015 Remi Collet <remi@remirepo.net> - 0.2-2
- backport for #remirepo