From 147698db47b5d8721a2da505684683b993dc1036 Mon Sep 17 00:00:00 2001 From: Alex Denvir Date: Fri, 9 Nov 2012 15:33:33 +0000 Subject: [PATCH 1/6] Improve coding standards on new traits, add tests --- src/EventManagerAwareTrait.php | 20 ++++-- src/SharedEventManagerAwareTrait.php | 18 ++--- test/EventManagerAwareTraitTest.php | 49 +++++++++++++ test/SharedEventManagerAwareTraitTest.php | 69 +++++++++++++++++++ test/TestAsset/MockEventManagerAwareTrait.php | 19 +++++ .../MockSharedEventManagerAwareTrait.php | 19 +++++ 6 files changed, 180 insertions(+), 14 deletions(-) create mode 100644 test/EventManagerAwareTraitTest.php create mode 100644 test/SharedEventManagerAwareTraitTest.php create mode 100644 test/TestAsset/MockEventManagerAwareTrait.php create mode 100644 test/TestAsset/MockSharedEventManagerAwareTrait.php diff --git a/src/EventManagerAwareTrait.php b/src/EventManagerAwareTrait.php index b967ebc..7b315d9 100644 --- a/src/EventManagerAwareTrait.php +++ b/src/EventManagerAwareTrait.php @@ -19,20 +19,30 @@ trait EventManagerAwareTrait { /** - * @var \Zend\EventManager\EventManagerInterface + * @var EventManagerInterface */ - protected $event_manager = null; + protected $eventManager = null; /** * setEventManager * - * @param \Zend\EventManager\EventManagerInterface $eventManager - * @return + * @param EventManagerInterface $eventManager + * @return mixed */ public function setEventManager(EventManagerInterface $eventManager) { - $this->event_manager = $eventManager; + $this->eventManager = $eventManager; return $this; } + + /** + * getEventManager + * + * @return EventManagerInterface + */ + public function getEventManager() + { + return $this->eventManager; + } } diff --git a/src/SharedEventManagerAwareTrait.php b/src/SharedEventManagerAwareTrait.php index 7fd5746..26395a7 100644 --- a/src/SharedEventManagerAwareTrait.php +++ b/src/SharedEventManagerAwareTrait.php @@ -19,19 +19,19 @@ trait SharedEventManagerAwareTrait { /** - * @var \Zend\EventManager\SharedEventManagerInterface + * @var SharedEventManagerInterface */ - protected $shared_event_manager = null; + protected $sharedEventManager = null; /** * setSharedManager * - * @param \Zend\EventManager\SharedEventManagerInterface $sharedEventManager - * @return + * @param SharedEventManagerInterface $sharedEventManager + * @return mixed */ public function setSharedManager(SharedEventManagerInterface $sharedEventManager) { - $this->shared_event_manager = $sharedEventManager; + $this->sharedEventManager = $sharedEventManager; return $this; } @@ -39,21 +39,21 @@ public function setSharedManager(SharedEventManagerInterface $sharedEventManager /** * getSharedManager * - * @return \Zend\EventManager\SharedEventManagerInterface + * @return SharedEventManagerInterface */ public function getSharedManager() { - return $this->shared_event_manager; + return $this->sharedEventManager; } /** * unsetSharedManager * - * @return + * @return mixed */ public function unsetSharedManager() { - $this->shared_event_manager = null; + $this->sharedEventManager = null; return $this; } diff --git a/test/EventManagerAwareTraitTest.php b/test/EventManagerAwareTraitTest.php new file mode 100644 index 0000000..77c306f --- /dev/null +++ b/test/EventManagerAwareTraitTest.php @@ -0,0 +1,49 @@ +assertAttributeEquals(null, 'eventManager', $object); + + $eventManager = new EventManager; + + $object->setEventManager($eventManager); + + $this->assertAttributeEquals($eventManager, 'eventManager', $object); + } + + /** + * @requires PHP 5.4 + */ + public function testGetEventManager() + { + $object = new TestAsset\MockEventManagerAwareTrait; + + $this->assertEquals(null, $object->getEventManager()); + + $eventManager = new EventManager; + + $object->setEventManager($eventManager); + + $this->assertEquals($eventManager, $this->object->getEventManager()); + } +} diff --git a/test/SharedEventManagerAwareTraitTest.php b/test/SharedEventManagerAwareTraitTest.php new file mode 100644 index 0000000..ab91d41 --- /dev/null +++ b/test/SharedEventManagerAwareTraitTest.php @@ -0,0 +1,69 @@ +assertAttributeEquals(null, 'sharedEventManager', $object); + + $sharedEventManager = new SharedEventManager; + + $object->setSharedManager($sharedEventManager); + + $this->assertAttributeEquals($sharedEventManager, 'sharedEventManager', $object); + } + + /** + * @requires PHP 5.4 + */ + public function testGetSharedManager() + { + $object = new TestAsset\MockSharedEventManagerAwareTrait; + + $this->assertEquals(null, $object->getSharedManager()); + + $sharedEventManager = new SharedEventManager; + + $object->setSharedManager($sharedEventManager); + + $this->assertEquals($sharedEventManager, $object->getSharedManager()); + } + + /** + * @requires PHP 5.4 + */ + public function testUnsetSharedManager() + { + $object = new TestAsset\MockSharedEventManagerAwareTrait; + + $this->assertAttributeEquals(null, 'sharedEventManager', $object); + + $sharedEventManager = new SharedEventManager; + + $this->object->setSharedManager($sharedEventManager); + + $this->assertAttributeEquals($sharedEventManager, 'sharedEventManager', $object); + + $this->object->unsetSharedManager(); + + $this->assertAttributeEquals(null, 'sharedEventManager', $object); + } +} diff --git a/test/TestAsset/MockEventManagerAwareTrait.php b/test/TestAsset/MockEventManagerAwareTrait.php new file mode 100644 index 0000000..ec2fa99 --- /dev/null +++ b/test/TestAsset/MockEventManagerAwareTrait.php @@ -0,0 +1,19 @@ + Date: Mon, 19 Nov 2012 11:38:42 +0000 Subject: [PATCH 2/6] Fix Minor problems with tests --- test/EventManagerAwareTraitTest.php | 2 +- test/SharedEventManagerAwareTraitTest.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/EventManagerAwareTraitTest.php b/test/EventManagerAwareTraitTest.php index 77c306f..7696e5d 100644 --- a/test/EventManagerAwareTraitTest.php +++ b/test/EventManagerAwareTraitTest.php @@ -44,6 +44,6 @@ public function testGetEventManager() $object->setEventManager($eventManager); - $this->assertEquals($eventManager, $this->object->getEventManager()); + $this->assertEquals($eventManager, $object->getEventManager()); } } diff --git a/test/SharedEventManagerAwareTraitTest.php b/test/SharedEventManagerAwareTraitTest.php index ab91d41..dfbf7fa 100644 --- a/test/SharedEventManagerAwareTraitTest.php +++ b/test/SharedEventManagerAwareTraitTest.php @@ -58,11 +58,11 @@ public function testUnsetSharedManager() $sharedEventManager = new SharedEventManager; - $this->object->setSharedManager($sharedEventManager); + $object->setSharedManager($sharedEventManager); $this->assertAttributeEquals($sharedEventManager, 'sharedEventManager', $object); - $this->object->unsetSharedManager(); + $object->unsetSharedManager(); $this->assertAttributeEquals(null, 'sharedEventManager', $object); } From df36e9950726714d69ffa1963f5eb6de23e38f41 Mon Sep 17 00:00:00 2001 From: Alex Denvir Date: Mon, 19 Nov 2012 17:30:14 +0000 Subject: [PATCH 3/6] Improve function comment quality, clean up tests a little --- src/EventManagerAwareTrait.php | 4 ++-- src/SharedEventManagerAwareTrait.php | 6 +++--- test/EventManagerAwareTraitTest.php | 13 +++++-------- test/SharedEventManagerAwareTraitTest.php | 18 ++++++------------ test/TestAsset/MockEventManagerAwareTrait.php | 19 ------------------- .../MockSharedEventManagerAwareTrait.php | 19 ------------------- 6 files changed, 16 insertions(+), 63 deletions(-) delete mode 100644 test/TestAsset/MockEventManagerAwareTrait.php delete mode 100644 test/TestAsset/MockSharedEventManagerAwareTrait.php diff --git a/src/EventManagerAwareTrait.php b/src/EventManagerAwareTrait.php index 7b315d9..6cba471 100644 --- a/src/EventManagerAwareTrait.php +++ b/src/EventManagerAwareTrait.php @@ -24,7 +24,7 @@ trait EventManagerAwareTrait protected $eventManager = null; /** - * setEventManager + * Inject an EventManager instance * * @param EventManagerInterface $eventManager * @return mixed @@ -37,7 +37,7 @@ public function setEventManager(EventManagerInterface $eventManager) } /** - * getEventManager + * Retrieve the event manager * * @return EventManagerInterface */ diff --git a/src/SharedEventManagerAwareTrait.php b/src/SharedEventManagerAwareTrait.php index 26395a7..c2f7e8e 100644 --- a/src/SharedEventManagerAwareTrait.php +++ b/src/SharedEventManagerAwareTrait.php @@ -24,7 +24,7 @@ trait SharedEventManagerAwareTrait protected $sharedEventManager = null; /** - * setSharedManager + * Inject a SharedEventManager instance * * @param SharedEventManagerInterface $sharedEventManager * @return mixed @@ -37,7 +37,7 @@ public function setSharedManager(SharedEventManagerInterface $sharedEventManager } /** - * getSharedManager + * Get shared collections container * * @return SharedEventManagerInterface */ @@ -47,7 +47,7 @@ public function getSharedManager() } /** - * unsetSharedManager + * Remove any shared collections * * @return mixed */ diff --git a/test/EventManagerAwareTraitTest.php b/test/EventManagerAwareTraitTest.php index 7696e5d..015af6e 100644 --- a/test/EventManagerAwareTraitTest.php +++ b/test/EventManagerAwareTraitTest.php @@ -13,14 +13,14 @@ use \PHPUnit_Framework_TestCase as TestCase; use \Zend\EventManager\EventManager; +/** + * @requires PHP 5.4 + */ class EventManagerAwareTraitTest extends TestCase { - /** - * @requires PHP 5.4 - */ public function testSetEventManager() { - $object = new TestAsset\MockEventManagerAwareTrait; + $object = $this->getObjectForTrait('\Zend\EventManager\EventManagerAwareTrait'); $this->assertAttributeEquals(null, 'eventManager', $object); @@ -31,12 +31,9 @@ public function testSetEventManager() $this->assertAttributeEquals($eventManager, 'eventManager', $object); } - /** - * @requires PHP 5.4 - */ public function testGetEventManager() { - $object = new TestAsset\MockEventManagerAwareTrait; + $object = $this->getObjectForTrait('\Zend\EventManager\EventManagerAwareTrait'); $this->assertEquals(null, $object->getEventManager()); diff --git a/test/SharedEventManagerAwareTraitTest.php b/test/SharedEventManagerAwareTraitTest.php index dfbf7fa..e19206c 100644 --- a/test/SharedEventManagerAwareTraitTest.php +++ b/test/SharedEventManagerAwareTraitTest.php @@ -13,14 +13,14 @@ use \PHPUnit_Framework_TestCase as TestCase; use \Zend\EventManager\SharedEventManager; +/** + * @requires PHP 5.4 + */ class SharedEventManagerAwareTraitTest extends TestCase { - /** - * @requires PHP 5.4 - */ public function testSetSharedManager() { - $object = new TestAsset\MockSharedEventManagerAwareTrait; + $object = $this->getObjectForTrait('\Zend\EventManager\SharedEventManagerAwareTrait'); $this->assertAttributeEquals(null, 'sharedEventManager', $object); @@ -31,12 +31,9 @@ public function testSetSharedManager() $this->assertAttributeEquals($sharedEventManager, 'sharedEventManager', $object); } - /** - * @requires PHP 5.4 - */ public function testGetSharedManager() { - $object = new TestAsset\MockSharedEventManagerAwareTrait; + $object = $this->getObjectForTrait('\Zend\EventManager\SharedEventManagerAwareTrait'); $this->assertEquals(null, $object->getSharedManager()); @@ -47,12 +44,9 @@ public function testGetSharedManager() $this->assertEquals($sharedEventManager, $object->getSharedManager()); } - /** - * @requires PHP 5.4 - */ public function testUnsetSharedManager() { - $object = new TestAsset\MockSharedEventManagerAwareTrait; + $object = $this->getObjectForTrait('\Zend\EventManager\SharedEventManagerAwareTrait'); $this->assertAttributeEquals(null, 'sharedEventManager', $object); diff --git a/test/TestAsset/MockEventManagerAwareTrait.php b/test/TestAsset/MockEventManagerAwareTrait.php deleted file mode 100644 index ec2fa99..0000000 --- a/test/TestAsset/MockEventManagerAwareTrait.php +++ /dev/null @@ -1,19 +0,0 @@ - Date: Tue, 20 Nov 2012 10:25:05 +0000 Subject: [PATCH 4/6] Remove SharedEventManagerAwareTrait and ServiceManagerAwareTrait, and associated tests --- src/SharedEventManagerAwareTrait.php | 60 --------------------- test/SharedEventManagerAwareTraitTest.php | 63 ----------------------- 2 files changed, 123 deletions(-) delete mode 100644 src/SharedEventManagerAwareTrait.php delete mode 100644 test/SharedEventManagerAwareTraitTest.php diff --git a/src/SharedEventManagerAwareTrait.php b/src/SharedEventManagerAwareTrait.php deleted file mode 100644 index c2f7e8e..0000000 --- a/src/SharedEventManagerAwareTrait.php +++ /dev/null @@ -1,60 +0,0 @@ -sharedEventManager = $sharedEventManager; - - return $this; - } - - /** - * Get shared collections container - * - * @return SharedEventManagerInterface - */ - public function getSharedManager() - { - return $this->sharedEventManager; - } - - /** - * Remove any shared collections - * - * @return mixed - */ - public function unsetSharedManager() - { - $this->sharedEventManager = null; - - return $this; - } -} diff --git a/test/SharedEventManagerAwareTraitTest.php b/test/SharedEventManagerAwareTraitTest.php deleted file mode 100644 index e19206c..0000000 --- a/test/SharedEventManagerAwareTraitTest.php +++ /dev/null @@ -1,63 +0,0 @@ -getObjectForTrait('\Zend\EventManager\SharedEventManagerAwareTrait'); - - $this->assertAttributeEquals(null, 'sharedEventManager', $object); - - $sharedEventManager = new SharedEventManager; - - $object->setSharedManager($sharedEventManager); - - $this->assertAttributeEquals($sharedEventManager, 'sharedEventManager', $object); - } - - public function testGetSharedManager() - { - $object = $this->getObjectForTrait('\Zend\EventManager\SharedEventManagerAwareTrait'); - - $this->assertEquals(null, $object->getSharedManager()); - - $sharedEventManager = new SharedEventManager; - - $object->setSharedManager($sharedEventManager); - - $this->assertEquals($sharedEventManager, $object->getSharedManager()); - } - - public function testUnsetSharedManager() - { - $object = $this->getObjectForTrait('\Zend\EventManager\SharedEventManagerAwareTrait'); - - $this->assertAttributeEquals(null, 'sharedEventManager', $object); - - $sharedEventManager = new SharedEventManager; - - $object->setSharedManager($sharedEventManager); - - $this->assertAttributeEquals($sharedEventManager, 'sharedEventManager', $object); - - $object->unsetSharedManager(); - - $this->assertAttributeEquals(null, 'sharedEventManager', $object); - } -} From 3d5d2c7562af22bc30950b342ffc3a41ff5728f9 Mon Sep 17 00:00:00 2001 From: Alex Denvir Date: Tue, 20 Nov 2012 11:59:47 +0000 Subject: [PATCH 5/6] Make EventManagerAwareTrait use ProvidesEvents --- src/EventManagerAwareTrait.php | 30 ++--------------------------- test/EventManagerAwareTraitTest.php | 8 ++++---- 2 files changed, 6 insertions(+), 32 deletions(-) diff --git a/src/EventManagerAwareTrait.php b/src/EventManagerAwareTrait.php index 6cba471..5305d58 100644 --- a/src/EventManagerAwareTrait.php +++ b/src/EventManagerAwareTrait.php @@ -10,7 +10,7 @@ namespace Zend\EventManager; -use Zend\EventManager\EventManagerInterface; +use \Zend\EventManager\ProvidesEvents; /** * @category Zend @@ -18,31 +18,5 @@ */ trait EventManagerAwareTrait { - /** - * @var EventManagerInterface - */ - protected $eventManager = null; - - /** - * Inject an EventManager instance - * - * @param EventManagerInterface $eventManager - * @return mixed - */ - public function setEventManager(EventManagerInterface $eventManager) - { - $this->eventManager = $eventManager; - - return $this; - } - - /** - * Retrieve the event manager - * - * @return EventManagerInterface - */ - public function getEventManager() - { - return $this->eventManager; - } + use ProvidesEvents; } diff --git a/test/EventManagerAwareTraitTest.php b/test/EventManagerAwareTraitTest.php index 015af6e..8e12615 100644 --- a/test/EventManagerAwareTraitTest.php +++ b/test/EventManagerAwareTraitTest.php @@ -22,25 +22,25 @@ public function testSetEventManager() { $object = $this->getObjectForTrait('\Zend\EventManager\EventManagerAwareTrait'); - $this->assertAttributeEquals(null, 'eventManager', $object); + $this->assertAttributeEquals(null, 'events', $object); $eventManager = new EventManager; $object->setEventManager($eventManager); - $this->assertAttributeEquals($eventManager, 'eventManager', $object); + $this->assertAttributeEquals($eventManager, 'events', $object); } public function testGetEventManager() { $object = $this->getObjectForTrait('\Zend\EventManager\EventManagerAwareTrait'); - $this->assertEquals(null, $object->getEventManager()); + $this->assertInstanceOf('\Zend\EventManager\EventManagerInterface', $object->getEventManager()); $eventManager = new EventManager; $object->setEventManager($eventManager); - $this->assertEquals($eventManager, $object->getEventManager()); + $this->assertSame($eventManager, $object->getEventManager()); } } From b235040e61d17821736d5c83d56cb612cb1be3ad Mon Sep 17 00:00:00 2001 From: Matthew Weier O'Phinney Date: Tue, 11 Dec 2012 10:56:59 -0600 Subject: [PATCH 6/6] [zendframework/zf2#3084] Split new interface methods into separate interface - To prevent a BC break (uncovered by running the unit tests), moved new attachAggregate() and detachAggregate() methods into a separate interface; the SharedEventManager implementation now also implements this new interface. --- src/SharedEventAggregateAwareInterface.php | 38 ++++++++++++++++++++++ src/SharedEventManager.php | 4 ++- src/SharedEventManagerInterface.php | 18 ---------- 3 files changed, 41 insertions(+), 19 deletions(-) create mode 100644 src/SharedEventAggregateAwareInterface.php diff --git a/src/SharedEventAggregateAwareInterface.php b/src/SharedEventAggregateAwareInterface.php new file mode 100644 index 0000000..3b144ac --- /dev/null +++ b/src/SharedEventAggregateAwareInterface.php @@ -0,0 +1,38 @@ +