diff -u b/core/modules/media/src/Plugin/media/Source/File.php b/core/modules/media/src/Plugin/media/Source/File.php --- b/core/modules/media/src/Plugin/media/Source/File.php +++ b/core/modules/media/src/Plugin/media/Source/File.php @@ -94,11 +94,11 @@ $mimetype = $file->getMimeType(); $mimetype = explode('/', $mimetype); - $icon_names = array( + $icon_names = [ $mimetype[0] . '--' . $mimetype[1], $mimetype[1], $mimetype[0], - ); + ]; foreach ($icon_names as $icon_name) { $thumbnail = $icon_base . '/' . $icon_name . '.png'; if (is_file($thumbnail)) { diff -u b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceTestBase.php b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceTestBase.php --- b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceTestBase.php +++ b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceTestBase.php @@ -2,7 +2,6 @@ namespace Drupal\Tests\media\FunctionalJavascript; -use Drupal\Core\Entity\Entity\EntityFormDisplay; use Drupal\field\Entity\FieldConfig; use Drupal\field\Entity\FieldStorageConfig; use Drupal\media\Entity\MediaType; diff -u b/core/modules/media/tests/src/Kernel/MediaSourceFileTest.php b/core/modules/media/tests/src/Kernel/MediaSourceFileTest.php --- b/core/modules/media/tests/src/Kernel/MediaSourceFileTest.php +++ b/core/modules/media/tests/src/Kernel/MediaSourceFileTest.php @@ -2,10 +2,6 @@ namespace Drupal\Tests\media\Kernel; -use Drupal\media\Entity\Media; -use Drupal\file\Entity\File; -use org\bovigo\vfs\vfsStream; - /** * Tests the file media source. * @@ -17,57 +13,18 @@ * Tests the file extension constraint. */ public function testFileExtensionConstraint() { + $mediaType = $this->createMediaType('file'); // Create a random file that should fail. - $media = $this->generateMedia('test.patch'); + $media = $this->generateMedia('test.patch', $mediaType); $result = $media->validate(); $this->assertCount(1, $result); $this->assertEquals('field_media_file.0', $result->get(0)->getPropertyPath()); $this->assertContains('Only files with the following extensions are allowed:', (string) $result->get(0)->getMessage()); // Create a random file that should pass. - $media = $this->generateMedia('test.txt'); + $media = $this->generateMedia('test.txt', $mediaType); $result = $media->validate(); - $this->assertCount(1, $result); - $this->assertEquals('field_media_file.0', $result->get(0)->getPropertyPath()); - $this->assertNotContains('Only files with the following extensions are allowed:', (string) $result->get(0)->getMessage()); - } - - /** - * Helper to generate media entity. - * - * @param string $filename - * String filename with extension. - * - * @return \Drupal\media\Entity\Media - * A media entity. - */ - protected function generateMedia($filename) { - $media_type = $this->createMediaType('file'); - - vfsStream::setup('drupal_root'); - vfsStream::create([ - 'sites' => [ - 'default' => [ - 'files' => [ - 'test.patch' => str_repeat('a', 3000), - ] - ] - ] - ]); - - $file = File::create([ - 'uri' => 'vfs://drupal_root/sites/default/files/' . $filename, - ]); - $file->setPermanent(); - $file->save(); - - return Media::create([ - 'bundle' => $media_type->id(), - 'name' => 'Mr. Jones', - 'field_media_file' => [ - 'target_id' => $file->id(), - ] - ]); + $this->assertCount(0, $result); } } only in patch2: unchanged: --- a/core/modules/media/tests/src/Kernel/MediaKernelTestBase.php +++ b/core/modules/media/tests/src/Kernel/MediaKernelTestBase.php @@ -2,8 +2,11 @@ namespace Drupal\Tests\media\Kernel; +use Drupal\file\Entity\File; use Drupal\KernelTests\KernelTestBase; +use Drupal\media\Entity\Media; use Drupal\media\Entity\MediaType; +use org\bovigo\vfs\vfsStream; /** * Base class for Media kernel tests. @@ -88,4 +91,43 @@ protected function createMediaType($media_source_name) { return $media_type; } + /** + * Helper to generate media entity. + * + * @param string $filename + * String filename with extension. + * @param \Drupal\media\Entity\MediaType $media_type + * The the media type. + * + * @return \Drupal\media\Entity\Media + * A media entity. + */ + protected function generateMedia($filename, MediaType $media_type) { + + vfsStream::setup('drupal_root'); + vfsStream::create([ + 'sites' => [ + 'default' => [ + 'files' => [ + $filename => str_repeat('a', 3000), + ], + ], + ], + ]); + + $file = File::create([ + 'uri' => 'vfs://drupal_root/sites/default/files/' . $filename, + ]); + $file->setPermanent(); + $file->save(); + + return Media::create([ + 'bundle' => $media_type->id(), + 'name' => 'Mr. Jones', + 'field_media_file' => [ + 'target_id' => $file->id(), + ], + ]); + } + }