summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--php-zendframework-zend-view-pr55.patch159
-rw-r--r--php-zendframework-zend-view.spec17
2 files changed, 8 insertions, 168 deletions
diff --git a/php-zendframework-zend-view-pr55.patch b/php-zendframework-zend-view-pr55.patch
deleted file mode 100644
index c022529..0000000
--- a/php-zendframework-zend-view-pr55.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-From fed4b7ad72b0dbdf475310fa73ecf84d477f5c0e Mon Sep 17 00:00:00 2001
-From: Matthew Weier O'Phinney <matthew@zend.com>
-Date: Mon, 21 Mar 2016 11:52:49 -0500
-Subject: [PATCH 1/2] Fix zendframework/zend-navigation#23
-
-Running tests of zend-navigation against all v2 components (no v3 components)
-revealed a circular dependency condition in the navigation helpers related to
-`getEventManager()`.
-
-In v2, `getEventManager()` has lazy-loaded an EM instance, and an initializer
-was checking the returned instance to see if its `SharedEventManager` instance
-was present and/or the same as the one in the container; if not, it was
-re-injecting the EM instance from the container. Unfortunately, this fails now,
-as the call to `setEventManager()` now attaches the default listeners, and
-requires that a shared manager is present.
-
-This patch changes the behavior to the following:
-
-- `getEventManager()` now *never* lazy-loads an instance. This ensures that the
- initializer doesn't lead to lazy-population of the shared manager.
-- `setEventManager()` was updated to check that we have a shared manager before
- attempting to call `setDefaultListeners()`.
-- Internally, if an EM instance is needed, it now lazy-creates one, *with a
- shared manager*, and calls `setEventManager()` with the new EM instance.
-- The EM initializer in the helper plugin amanger was updated to first check
- that we have an `EventManager` instance before attempting to inject one.
----
- src/Helper/Navigation/AbstractHelper.php | 34 ++++++++++++++++++---------
- src/HelperPluginManager.php | 5 ++++
- test/Helper/Navigation/AbstractHelperTest.php | 5 ++++
- test/Helper/Navigation/AbstractTest.php | 5 ----
- 4 files changed, 33 insertions(+), 16 deletions(-)
-
-diff --git a/src/Helper/Navigation/AbstractHelper.php b/src/Helper/Navigation/AbstractHelper.php
-index 5503b10..823c43e 100644
---- a/src/Helper/Navigation/AbstractHelper.php
-+++ b/src/Helper/Navigation/AbstractHelper.php
-@@ -342,7 +342,8 @@ public function accept(AbstractPage $page, $recursive = true)
- */
- protected function isAllowed($params)
- {
-- $results = $this->getEventManager()->trigger(__FUNCTION__, $this, $params);
-+ $events = $this->getEventManager() ?: $this->createEventManager();
-+ $results = $events->trigger(__FUNCTION__, $this, $params);
- return $results->last();
- }
-
-@@ -513,22 +514,23 @@ public function setEventManager(EventManagerInterface $events)
-
- $this->events = $events;
-
-- $this->setDefaultListeners();
-+ if ($events->getSharedManager()) {
-+ $this->setDefaultListeners();
-+ }
-
- return $this;
- }
-
- /**
-- * Get the event manager.
-+ * Get the event manager, if present.
-+ *
-+ * Internally, the helper will lazy-load an EM instance the first time it
-+ * requires one, but ideally it should be injected during instantiation.
- *
-- * @return EventManagerInterface
-+ * @return null|EventManagerInterface
- */
- public function getEventManager()
- {
-- if (null === $this->events) {
-- $this->setEventManager($this->createEventManager());
-- }
--
- return $this->events;
- }
-
-@@ -956,7 +958,13 @@ protected function setDefaultListeners()
- return;
- }
-
-- $this->getEventManager()->getSharedManager()->attach(
-+ $events = $this->getEventManager() ?: $this->createEventManager();
-+
-+ if (! $events->getSharedManager()) {
-+ return;
-+ }
-+
-+ $events->getSharedManager()->attach(
- 'Zend\View\Helper\Navigation\AbstractHelper',
- 'isAllowed',
- ['Zend\View\Helper\Navigation\Listener\AclListener', 'accept']
-@@ -975,9 +983,13 @@ private function createEventManager()
- {
- $r = new ReflectionClass(EventManager::class);
- if ($r->hasMethod('setSharedManager')) {
-- return new EventManager();
-+ $events = new EventManager();
-+ $events->setSharedManager(new SharedEventManager());
-+ } else {
-+ $events = new EventManager(new SharedEventManager());
- }
-
-- return new EventManager(new SharedEventManager());
-+ $this->setEventManager($events);
-+ return $events;
- }
- }
-diff --git a/src/HelperPluginManager.php b/src/HelperPluginManager.php
-index 8d97b6c..daf9190 100644
---- a/src/HelperPluginManager.php
-+++ b/src/HelperPluginManager.php
-@@ -375,6 +375,11 @@ public function injectEventManager($first, $second)
- return;
- }
-
-+ if (! $container->has('EventManager')) {
-+ // If the container doesn't have an EM service, do nothing.
-+ return;
-+ }
-+
- $events = $helper->getEventManager();
- if (! $events || ! $events->getSharedManager() instanceof SharedEventManagerInterface) {
- $helper->setEventManager($container->get('EventManager'));
-diff --git a/test/Helper/Navigation/AbstractHelperTest.php b/test/Helper/Navigation/AbstractHelperTest.php
-index e53f877..37262a7 100644
---- a/test/Helper/Navigation/AbstractHelperTest.php
-+++ b/test/Helper/Navigation/AbstractHelperTest.php
-@@ -76,4 +76,9 @@ public function testHasRoleChecksMemberVariable()
- $this->_helper->setRole($role);
- $this->assertEquals(true, $this->_helper->hasRole());
- }
-+
-+ public function testEventManagerIsNullByDefault()
-+ {
-+ $this->assertNull($this->_helper->getEventManager());
-+ }
- }
-diff --git a/test/Helper/Navigation/AbstractTest.php b/test/Helper/Navigation/AbstractTest.php
-index 693e965..874e581 100644
---- a/test/Helper/Navigation/AbstractTest.php
-+++ b/test/Helper/Navigation/AbstractTest.php
-@@ -23,14 +23,9 @@
-
- /**
- * Base class for navigation view helper tests
-- *
-- * @group Zend_View
-- * @group Zend_View_Helper
- */
- abstract class AbstractTest extends \PHPUnit_Framework_TestCase
- {
-- const REGISTRY_KEY = 'Zend_Navigation';
--
- /**
- * @var
- */
-
diff --git a/php-zendframework-zend-view.spec b/php-zendframework-zend-view.spec
index 536f1ba..62f947e 100644
--- a/php-zendframework-zend-view.spec
+++ b/php-zendframework-zend-view.spec
@@ -7,7 +7,7 @@
# Please, preserve the changelog entries
#
%global bootstrap 0
-%global gh_commit 5347f90525d9804de74766b29e2e723b5dd7a4c6
+%global gh_commit b6cbad62a95ba9bf1ce8814bbd4a1d2316041cb9
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner zendframework
%global gh_project zend-view
@@ -20,8 +20,8 @@
%endif
Name: php-%{gh_owner}-%{gh_project}
-Version: 2.6.4
-Release: 2%{?dist}
+Version: 2.6.5
+Release: 1%{?dist}
Summary: Zend Framework %{library} component
Group: Development/Libraries
@@ -30,8 +30,6 @@ URL: http://framework.zend.com/
Source0: %{gh_commit}/%{name}-%{version}-%{gh_short}.tgz
Source1: makesrc.sh
-Patch0: %{name}-pr55.patch
-
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildArch: noarch
# Tests
@@ -67,7 +65,7 @@ BuildRequires: php-composer(%{gh_owner}/zend-stdlib) >= 2.5
# "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3",
# "zendframework/zend-uri": "^2.5",
# "fabpot/php-cs-fixer": "1.7.*",
-# "phpunit/PHPUnit": "~4.0"
+# "phpunit/PHPUnit": "^4.5"
BuildRequires: php-composer(%{gh_owner}/zend-authentication) >= 2.5
BuildRequires: php-composer(%{gh_owner}/zend-cache) >= 2.6.1
BuildRequires: php-composer(%{gh_owner}/zend-config) >= 2.6
@@ -88,7 +86,7 @@ BuildRequires: php-composer(%{gh_owner}/zend-serializer) >= 2.6.1
BuildRequires: php-composer(%{gh_owner}/zend-session) >= 2.6.2
BuildRequires: php-composer(%{gh_owner}/zend-servicemanager) >= 2.7.5
BuildRequires: php-composer(%{gh_owner}/zend-uri) >= 2.5
-BuildRequires: php-composer(phpunit/phpunit) >= 4.0
+BuildRequires: php-composer(phpunit/phpunit) >= 4.5
# Autoloader
BuildRequires: php-composer(%{gh_owner}/zend-loader) >= 2.5
%endif
@@ -157,8 +155,6 @@ substitution, and more.
%prep
%setup -q -n %{gh_project}-%{gh_commit}
-%patch0 -p1
-
%build
# Empty build section, nothing required
@@ -210,6 +206,9 @@ rm -rf %{buildroot}
%changelog
+* Mon Mar 21 2016 Remi Collet <remi@fedoraproject.org> - 2.6.5-1
+- version 2.6.5
+
* Mon Mar 21 2016 Remi Collet <remi@fedoraproject.org> - 2.6.4-2
- add patch for zend-navigation issue, see:
https://github.com/zendframework/zend-navigation/issues/23