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); }
/** * @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); } }