This event listener is responsible for reading the initial image data, and updating the model before sending back transformed images to the client, or when storing transformed images in the storage.
Author: Christer Edvartsen (cogo@starzinger.net)
Inheritance: implements Imbo\EventListener\ListenerInterface
Ejemplo n.º 1
0
 /**
  * Update the model data if the image has been changed
  *
  * @param EventInterface $event The event instance
  */
 public function updateModel(EventInterface $event)
 {
     $image = $event->getArgument('image');
     if ($image->hasBeenTransformed()) {
         $image->setBlob($this->imagick->getImageBlob());
     }
 }
Ejemplo n.º 2
0
 /**
  * @covers Imbo\EventListener\Imagick::readImageBlob
  * @covers Imbo\EventListener\Imagick::setImagick
  * @dataProvider hasImageBeenTransformed
  */
 public function testUpdatesModelBeforeSendingResponse($hasBeenTransformed)
 {
     $image = $this->getMock('Imbo\\Model\\Image');
     $image->expects($this->once())->method('hasBeenTransformed')->will($this->returnValue($hasBeenTransformed));
     $imagick = $this->getMock('Imagick');
     if ($hasBeenTransformed) {
         $imagick->expects($this->once())->method('getImageBlob')->will($this->returnValue('image'));
         $image->expects($this->once())->method('setBlob')->with('image');
     } else {
         $imagick->expects($this->never())->method('getImageBlob');
         $image->expects($this->never())->method('setBlob');
     }
     $this->event->expects($this->once())->method('getArgument')->with('image')->will($this->returnValue($image));
     $this->listener->setImagick($imagick)->updateModel($this->event);
 }