public function getProvider() { $resizer = $this->getMock('Sonata\MediaBundle\Media\ResizerInterface', array('resize')); $resizer->expects($this->any()) ->method('resize') ->will($this->returnValue(true)); $adapter = $this->getMock('Gaufrette\Filesystem\Adapter'); $file = $this->getMock('Gaufrette\Filesystem\File', array(), array($adapter)); $filesystem = $this->getMock('Gaufrette\Filesystem\Filesystem', array('get'), array($adapter)); $filesystem->expects($this->any()) ->method('get') ->will($this->returnValue($file)); $cdn = new \Sonata\MediaBundle\CDN\Server('/updoads/media'); $generator = new \Sonata\MediaBundle\Generator\DefaultGenerator(); $provider = new \Sonata\MediaBundle\Provider\FileProvider('file', $filesystem, $cdn, $generator); $provider->setResizer($resizer); return $provider; }
/** * Gets the 'sonata.media.provider.file' service. * * This service is shared. * This method always returns the same instance of the service. * * @return Sonata\MediaBundle\Provider\FileProvider A Sonata\MediaBundle\Provider\FileProvider instance. */ protected function getSonata_Media_Provider_FileService() { $this->services['sonata.media.provider.file'] = $instance = new \Sonata\MediaBundle\Provider\FileProvider('sonata.media.provider.file', $this->get('sonata.media.filesystem.local'), $this->get('sonata.media.cdn.server'), $this->get('sonata.media.generator.default'), $this->get('sonata.media.thumbnail.format'), array(0 => 'pdf', 1 => 'txt', 2 => 'rtf', 3 => 'doc', 4 => 'docx', 5 => 'xls', 6 => 'xlsx', 7 => 'ppt', 8 => 'pptx', 9 => 'odt', 10 => 'odg', 11 => 'odp', 12 => 'ods', 13 => 'odc', 14 => 'odf', 15 => 'odb', 16 => 'csv', 17 => 'xml'), array(0 => 'application/pdf', 1 => 'application/x-pdf', 2 => 'application/rtf', 3 => 'text/html', 4 => 'text/rtf', 5 => 'text/plain', 6 => 'application/excel', 7 => 'application/msword', 8 => 'application/vnd.ms-excel', 9 => 'application/vnd.ms-powerpoint', 10 => 'application/vnd.ms-powerpoint', 11 => 'application/vnd.oasis.opendocument.text', 12 => 'application/vnd.oasis.opendocument.graphics', 13 => 'application/vnd.oasis.opendocument.presentation', 14 => 'application/vnd.oasis.opendocument.spreadsheet', 15 => 'application/vnd.oasis.opendocument.chart', 16 => 'application/vnd.oasis.opendocument.formula', 17 => 'application/vnd.oasis.opendocument.database', 18 => 'application/vnd.oasis.opendocument.image', 19 => 'text/comma-separated-values', 20 => 'text/xml', 21 => 'application/xml', 22 => 'application/zip'), $this->get('sonata.media.metadata.proxy')); $instance->setTemplates(array('helper_thumbnail' => 'SonataMediaBundle:Provider:thumbnail.html.twig', 'helper_view' => 'SonataMediaBundle:Provider:view_file.html.twig')); $instance->addFormat('default_small', array('width' => 100, 'quality' => 70, 'height' => false, 'format' => 'jpg', 'constraint' => true)); $instance->addFormat('default_big', array('width' => 500, 'quality' => 70, 'height' => false, 'format' => 'jpg', 'constraint' => true)); $instance->addFormat('admin', array('quality' => 80, 'width' => 100, 'format' => 'jpg', 'height' => false, 'constraint' => true)); return $instance; }
public function testSetFileContents() { $adapter = new \Gaufrette\Adapter\InMemory(array('testDir')); $filesystem = new \Gaufrette\Filesystem($adapter); $cdn = new \Sonata\MediaBundle\CDN\Server('/uploads/media'); $generator = new \Sonata\MediaBundle\Generator\DefaultGenerator(); $provider = new \Sonata\MediaBundle\Provider\FileProvider('file', $filesystem, $cdn, $generator); $media = new Media(); $media->setId(853); $media->setProviderReference(853); $provider->setFileContents($media, realpath(__DIR__ . '/../fixtures/file.txt')); $this->assertEquals('Hello file text!', $provider->getReferenceFile($media)->getContent()); }