/** * @covers \Zend\Stdlib\Hydrator\Aggregate\AggregateHydrator::getEventManager * @covers \Zend\Stdlib\Hydrator\Aggregate\AggregateHydrator::setEventManager */ public function testGetSetManager() { $hydrator = new AggregateHydrator(); $eventManager = $this->getMock('Zend\\EventManager\\EventManagerInterface'); $this->assertInstanceOf('Zend\\EventManager\\EventManagerInterface', $hydrator->getEventManager()); $eventManager->expects($this->once())->method('setIdentifiers')->with(array('Zend\\Stdlib\\Hydrator\\Aggregate\\AggregateHydrator', 'Zend\\Stdlib\\Hydrator\\Aggregate\\AggregateHydrator')); $hydrator->setEventManager($eventManager); $this->assertSame($eventManager, $hydrator->getEventManager()); }
/** * Verifies that stopping propagation within a listener in the hydrator allows modifying how the * hydrator behaves */ public function testStoppedPropagationInHydration() { $object = new ArrayObject(); $swappedObject = new stdClass(); $callback = function (HydrateEvent $event) use($swappedObject) { $event->setHydratedObject($swappedObject); $event->stopPropagation(); }; $this->hydrator->add(new ArraySerializable()); $this->hydrator->getEventManager()->attach(HydrateEvent::EVENT_HYDRATE, $callback, 1000); $this->assertSame($swappedObject, $this->hydrator->hydrate(array('president' => 'Zaphod'), $object)); }