Exemplo n.º 1
0
 /**
  * @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));
 }