private function routeAction($mediafile, $pathfile_dest, SpecificationInterface $specs) { $route = sprintf('%s-%s', $mediafile->getType(), $specs->getType()); switch ($route) { case sprintf('%s-%s', MediaInterface::TYPE_AUDIO, SpecificationInterface::TYPE_IMAGE): throw new RuntimeException('Not transmuter avalaible... Implement it !'); break; case sprintf('%s-%s', MediaInterface::TYPE_AUDIO, SpecificationInterface::TYPE_VIDEO): throw new RuntimeException('Not transmuter avalaible... Implement it !'); break; case sprintf('%s-%s', MediaInterface::TYPE_AUDIO, SpecificationInterface::TYPE_AUDIO): $transmuter = new Audio2Audio($this->drivers, $this->tmpFileManager); break; case sprintf('%s-%s', MediaInterface::TYPE_FLASH, SpecificationInterface::TYPE_IMAGE): $transmuter = new Flash2Image($this->drivers, $this->tmpFileManager); break; case sprintf('%s-%s', MediaInterface::TYPE_DOCUMENT, SpecificationInterface::TYPE_IMAGE): $transmuter = new Document2Image($this->drivers, $this->tmpFileManager); break; case sprintf('%s-%s', MediaInterface::TYPE_DOCUMENT, SpecificationInterface::TYPE_SWF): $transmuter = new Document2Flash($this->drivers, $this->tmpFileManager); break; case sprintf('%s-%s', MediaInterface::TYPE_IMAGE, SpecificationInterface::TYPE_IMAGE): $transmuter = new Image2Image($this->drivers, $this->tmpFileManager); break; case sprintf('%s-%s', MediaInterface::TYPE_VIDEO, SpecificationInterface::TYPE_IMAGE): $transmuter = new Video2Image($this->drivers, $this->tmpFileManager); break; case sprintf('%s-%s', MediaInterface::TYPE_VIDEO, SpecificationInterface::TYPE_ANIMATION): $transmuter = new Video2Animation($this->drivers, $this->tmpFileManager); break; case sprintf('%s-%s', MediaInterface::TYPE_VIDEO, SpecificationInterface::TYPE_VIDEO): $transmuter = new Video2Video($this->drivers, $this->tmpFileManager); break; default: throw new RuntimeException(sprintf('Not transmuter avalaible for `%s` Implement it !', $route)); break; } $transmuter->execute($specs, $mediafile, $pathfile_dest); return $this; }
/** * @covers MediaAlchemyst\Transmuter\Video2Video::execute * @covers MediaAlchemyst\Exception\SpecNotSupportedException * @expectedException MediaAlchemyst\Exception\SpecNotSupportedException */ public function testExecuteWithBasSpecs() { $this->object->execute(new UnknownSpecs(), $this->source, $this->dest); }