Issue #2849413 by sam-elayyoub, idebr, tatarbj, B N Pandey, annetee, developmenticon, borisson_, Lendude: Class name must be a valid object or a string in core/modules/image/src/Entity/ImageStyle.php on line 174

merge-requests/55/head
Lee Rowlands 2019-08-13 07:26:31 +10:00
parent ad3be82d58
commit 3237440708
No known key found for this signature in database
GPG Key ID: 2B829A3DF9204DC4
2 changed files with 21 additions and 1 deletions

View File

@ -183,7 +183,10 @@ class ImageStyle extends ConfigEntityBase implements ImageStyleInterface, Entity
// source files not stored in the default scheme.
if ($source_scheme != $default_scheme) {
$class = $this->getStreamWrapperManager()->getClass($source_scheme);
$is_writable = $class::getType() & StreamWrapperInterface::WRITE;
$is_writable = NULL;
if ($class) {
$is_writable = $class::getType() & StreamWrapperInterface::WRITE;
}
// Compute the derivative URI scheme. Derivatives created from writable
// source stream wrappers will inherit the scheme. Derivatives created

View File

@ -27,4 +27,21 @@ class MediaSourceFileTest extends MediaKernelTestBase {
$this->assertCount(0, $result);
}
/**
* Tests a media file can be deleted.
*/
public function testFileDeletion() {
$mediaType = $this->createMediaType('file');
$media = $this->generateMedia('test.txt', $mediaType);
$media->save();
$source_field_name = $mediaType->getSource()
->getSourceFieldDefinition($mediaType)
->getName();
/** @var \Drupal\file\FileInterface $file */
$file = $media->get($source_field_name)->entity;
$file->delete();
$this->assertEmpty($this->container->get('entity_type.manager')->getStorage('file')->loadByProperties(['filename' => 'test.txt']));
}
}