Ejemplo n.º 1
0
 public function setUp()
 {
     parent::setUp();
     $arbitraryPlugin = new ArbitraryVersionPlugin('arbitrary', function () {
         return array('x');
     }, function () {
         return array('x2');
     }, function () {
         return array('x' => 800);
     }, function (Version $version) {
         $params = $version->getParams();
         if (!is_numeric($params['x'])) {
             return false;
         }
         if ($params['x'] < 200 || $params['x'] > 2000) {
             return false;
         }
         if ($params['x'] % 100) {
             return false;
         }
         return true;
     }, function (File $file, Version $version, ArbitraryVersionPlugin $plugin) {
         $params = $version->getParams();
         if ($version->hasModifier('x2')) {
             $params['x'] = $params['x'] * 2;
         }
         return Command::createCommandsFromDefinitions([array('setImageCompression', Imagick::COMPRESSION_JPEG), array('setImageFormat', 'jpg'), array('setImageCompressionQuality', 80), array('cropThumbnailImage', array($params['x'], round($params['x'] / 4))), 'Xi\\Filelib\\Plugin\\Image\\Command\\WatermarkCommand' => array(ROOT_TESTS . '/data/watermark.png', 'se', 10)]);
     }, 'image/jpeg', true, function () {
         return [[['x' => 600], []], [['x' => 600], ['x2']]];
     });
     $this->arbitrary = $arbitraryPlugin;
     $this->filelib->addPlugin($arbitraryPlugin);
 }
Ejemplo n.º 2
0
 /**
  * @param string $identifier
  * @param array $commandDefinitions
  * @param string $mimeType
  */
 public function __construct($identifier, array $commandDefinitions = array(), $mimeType = null)
 {
     $this->mimeType = $mimeType;
     $this->identifier = $identifier;
     foreach ($commandDefinitions as $key => $commandDefinition) {
         $this->addCommand(Command::createCommandFromDefinition($key, $commandDefinition));
     }
 }
Ejemplo n.º 3
0
 /**
  * @test
  */
 public function createsCommandsFromDefinitions()
 {
     $definitions = [['cropThumbnailImage'], 'Xi\\Filelib\\Plugin\\Image\\Command\\WatermarkCommand' => [__DIR__ . '/watermark.png', 'se', 10]];
     $commands = Command::createCommandsFromDefinitions($definitions);
     $this->assertCount(2, $commands);
     foreach ($commands as $command) {
         $this->assertInstanceOf('Xi\\Filelib\\Plugin\\Image\\Command\\Command', $command);
     }
 }
Ejemplo n.º 4
0
 /**
  * @param Command $command
  */
 public function addCommand(Command $command)
 {
     $this->commands[] = $command;
     $command->setHelper($this);
 }