示例#1
0
 public function testRegisterFile()
 {
     $config = mockery::mock('Derby\\Config');
     $manager = new Manager($config);
     $manager->registerFileFactory(['txt'], ['text/plain'], function ($key, $adapter) {
         return new Media\LocalFile\Text($key, $adapter);
     });
     $manager->registerFileFactory(['html'], ['text/plain'], function ($key, $adapter) {
         return new Media\LocalFile\Html($key, $adapter);
     });
     $imagine = new Imagine();
     $manager->registerFileFactory(['jpg', 'jpeg', 'gif', 'bmp', 'png'], ['image/jpeg', 'image/gif', 'image/bmp', 'image/x-bmp', 'image/png'], function ($key, $adapter) use($imagine) {
         return new Media\LocalFile\Image($key, $adapter, $imagine);
     });
     $localAdapter = new LocalFileAdapter(__DIR__ . '/../Temp/', true);
     // Build HTML File
     $file = $manager->buildFile('test-1.html', $localAdapter, 'test1');
     $this->assertTrue($file instanceof Media\LocalFile\Html);
     $file = $manager->getMedia('test-1.html', $localAdapter);
     $this->assertTrue($file instanceof Media\LocalFile\Html);
     // Build Text File
     $file = $manager->buildFile('test-2.txt', $localAdapter, 'test2');
     $this->assertTrue($file instanceof Media\LocalFile\Text);
     $file = $manager->getMedia('test-2.txt', $localAdapter);
     $this->assertTrue($file instanceof Media\LocalFile\Text);
     // Build Image File
     $file = $manager->buildFile('test-3.jpg', $localAdapter, file_get_contents(__DIR__ . '/../Data/test-236x315.jpg'));
     $this->assertTrue($file instanceof Media\LocalFile\Image);
     $file = $manager->getMedia('test-3.jpg', $localAdapter);
     $this->assertTrue($file instanceof Media\LocalFile\Image);
 }