示例#1
0
 public function testShouldGetSameConfigSetBefore()
 {
     $config = array('quality' => 85, 'format' => 'jpg', 'filters' => array('thumbnail' => array('size' => array(180, 180), 'mode' => 'outbound')), 'cache' => 'web_path');
     $filterConfiguration = new FilterConfiguration();
     $filterConfiguration->set('profile_photo', $config);
     $this->assertEquals($config, $filterConfiguration->get('profile_photo'));
 }
 public function testGetVariationNotStoredHavingReferences()
 {
     $originalPath = 'foo/bar/image.jpg';
     $variationName = 'my_variation';
     $reference1 = 'reference1';
     $reference2 = 'reference2';
     $configVariation = array('reference' => $reference1);
     $configReference1 = array('reference' => $reference2);
     $configReference2 = array();
     $this->filterConfiguration->set($variationName, $configVariation);
     $this->filterConfiguration->set($reference1, $configReference1);
     $this->filterConfiguration->set($reference2, $configReference2);
     $imageId = '123-45';
     $imageValue = new ImageValue(array('id' => $originalPath, 'imageId' => $imageId));
     $field = new Field(array('value' => $imageValue));
     $expectedUrl = "http://localhost/foo/bar/image_{$variationName}.jpg";
     $this->ioResolver->expects($this->once())->method('isStored')->with($originalPath, $variationName)->will($this->returnValue(false));
     $this->logger->expects($this->once())->method('debug');
     $binary = $this->getMock('\\Liip\\ImagineBundle\\Binary\\BinaryInterface');
     $this->dataLoader->expects($this->once())->method('find')->with($originalPath)->will($this->returnValue($binary));
     // Filter manager is supposed to be called 3 times to generate references, and then passed variation.
     $this->filterManager->expects($this->at(0))->method('applyFilter')->with($binary, $reference2)->will($this->returnValue($binary));
     $this->filterManager->expects($this->at(1))->method('applyFilter')->with($binary, $reference1)->will($this->returnValue($binary));
     $this->filterManager->expects($this->at(2))->method('applyFilter')->with($binary, $variationName)->will($this->returnValue($binary));
     $this->ioResolver->expects($this->once())->method('store')->with($binary, $originalPath, $variationName);
     $this->ioResolver->expects($this->once())->method('resolve')->with($originalPath, $variationName)->will($this->returnValue($expectedUrl));
     $expected = new ImageVariation(array('name' => $variationName, 'fileName' => "image_{$variationName}.jpg", 'dirPath' => 'http://localhost/foo/bar', 'uri' => $expectedUrl, 'imageId' => $imageId));
     $this->assertEquals($expected, $this->aliasGenerator->getVariation($field, new VersionInfo(), $variationName));
 }
 public function testSetAndGetFilter()
 {
     $config = array('filters' => array('thumbnail' => array('size' => array(180, 180), 'mode' => 'outbound')), 'cache' => 'web_path');
     $filterConfiguration = new FilterConfiguration();
     $filterConfiguration->set('profile_photo', $config);
     $this->assertEquals($config, $filterConfiguration->get('profile_photo'));
 }
    protected function createFilterConfiguration()
    {
        $config = new FilterConfiguration();
        $config->set('thumbnail', array(
            'size' => array(180, 180),
            'mode' => 'outbound',
        ));

        return $config;
    }
 /**
  * @param ImageResourcesLoader $resourcesLoader
  * @param string $className
  * @param string $fieldName
  * @param string|null $layout
  *
  * @return array
  */
 private function addImagineFilter(ImageResourcesLoader $resourcesLoader, $className, $fieldName, $layout)
 {
     $imageOptions = $this->getImageResourceOptions($resourcesLoader->getConfig());
     $addedNames = [];
     foreach ($imageOptions['images'] as $image) {
         $filterName = $this->getImagineFilterName($className, $fieldName, $layout, $image);
         try {
             $this->filterConfiguration->get($filterName);
         } catch (NonExistingFilterException $e) {
             $this->filterConfiguration->set($filterName, $this->getImagineFilterConfig($imageOptions['filter'], $image));
             $addedNames[] = $filterName;
         }
     }
     return $addedNames;
 }