public function testGracefulDegradation() { $config = mockery::mock('Derby\\Config'); $manager = new Manager($config); $manager->registerFileFactory(['*'], ['text/*'], function ($key, $adapter) { return new Media\LocalFile\Text($key, $adapter); }); $localAdapter = new LocalFileAdapter(__DIR__ . '/../Temp/', true); // Build HTML File $file = $manager->buildFile('test-1.html', $localAdapter, 'test1'); $this->assertTrue($file instanceof Media\LocalFile\Text); // Build Text File $file = $manager->buildFile('test-2.txt', $localAdapter, 'test2'); $this->assertTrue($file instanceof Media\LocalFile\Text); // Will return Generic Local File b.c we haven't registered image media $file = $manager->buildFile('test-3.jpg', $localAdapter, file_get_contents(__DIR__ . '/../Data/test-236x315.jpg')); $this->assertFalse($file instanceof Media\LocalFile\Image); $this->assertTrue($file instanceof Media\LocalFile); }