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.
Автор: Christer Edvartsen (cogo@starzinger.net)
Наследование: implements Imbo\EventListener\ListenerInterface
Пример #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());
     }
 }
Пример #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);
 }