diff -u b/core/modules/file/src/Plugin/Field/FieldFormatter/FileAudioFormatter.php b/core/modules/file/src/Plugin/Field/FieldFormatter/FileAudioFormatter.php --- b/core/modules/file/src/Plugin/Field/FieldFormatter/FileAudioFormatter.php +++ b/core/modules/file/src/Plugin/Field/FieldFormatter/FileAudioFormatter.php @@ -25,9 +25,2 @@ - /** - * {@inheritdoc} - */ - protected function getHtmlTag() { - return static::getMediaType(); - } - } diff -u b/core/modules/file/src/Plugin/Field/FieldFormatter/FileMediaFormatterBase.php b/core/modules/file/src/Plugin/Field/FieldFormatter/FileMediaFormatterBase.php --- b/core/modules/file/src/Plugin/Field/FieldFormatter/FileMediaFormatterBase.php +++ b/core/modules/file/src/Plugin/Field/FieldFormatter/FileMediaFormatterBase.php @@ -15,12 +15,14 @@ abstract class FileMediaFormatterBase extends FileFormatterBase implements FileMediaFormatterInterface { /** - * Gets the HTML tag for a formatter. + * Gets the HTML tag for the formatter. * * @return string * The HTML tag of this formatter. */ - abstract protected function getHtmlTag(); + protected function getHtmlTag() { + return static::getMediaType(); + } /** * {@inheritdoc} @@ -121,7 +123,7 @@ $attributes = $this->prepareAttributes(); foreach ($source_files as $delta => $files) { $elements[$delta] = [ - '#theme' => 'file_' . $this->getHtmlTag(), + '#theme' => $this->getPluginId(), '#attributes' => $attributes, '#files' => $files, '#cache' => ['tags' => []], diff -u b/core/modules/file/src/Plugin/Field/FieldFormatter/FileVideoFormatter.php b/core/modules/file/src/Plugin/Field/FieldFormatter/FileVideoFormatter.php --- b/core/modules/file/src/Plugin/Field/FieldFormatter/FileVideoFormatter.php +++ b/core/modules/file/src/Plugin/Field/FieldFormatter/FileVideoFormatter.php @@ -28,13 +28,6 @@ /** * {@inheritdoc} */ - protected function getHtmlTag() { - return static::getMediaType(); - } - - /** - * {@inheritdoc} - */ public static function defaultSettings() { return [ 'muted' => FALSE, diff -u b/core/modules/file/tests/src/Functional/Formatter/FileAudioFormatterTest.php b/core/modules/file/tests/src/Functional/Formatter/FileAudioFormatterTest.php --- b/core/modules/file/tests/src/Functional/Formatter/FileAudioFormatterTest.php +++ b/core/modules/file/tests/src/Functional/Formatter/FileAudioFormatterTest.php @@ -17,7 +17,6 @@ * @dataProvider dataProvider */ public function testRender($tag_count, $formatter_settings) { - $field_config = $this->createMediaField('file_audio', 'mp3', $formatter_settings); file_put_contents('public://file.mp3', str_repeat('t', 10)); @@ -50,22 +49,10 @@ $file1_url = file_url_transform_relative(file_create_url($file1->getFileUri())); $file2_url = file_url_transform_relative(file_create_url($file2->getFileUri())); - $this->assertSession()->elementsCount('css', 'audio[controls="controls"]', $tag_count); - $this->assertSession()->elementExists('css', "audio > source[src='$file1_url'][type='audio/mpeg']"); - $this->assertSession()->elementExists('css', "audio > source[src='$file2_url'][type='audio/mpeg']"); - } - - /** - * Data provider for testRender. - * - * @return array - * Provided data. - */ - public function dataProvider() { - return [ - [2, []], - [1, ['multiple_file_display_type' => 'sources']], - ]; + $assert_session = $this->assertSession(); + $assert_session->elementsCount('css', 'audio[controls="controls"]', $tag_count); + $assert_session->elementExists('css', "audio > source[src='$file1_url'][type='audio/mpeg']"); + $assert_session->elementExists('css', "audio > source[src='$file2_url'][type='audio/mpeg']"); } } diff -u b/core/modules/file/tests/src/Functional/Formatter/FileMediaFormatterTestBase.php b/core/modules/file/tests/src/Functional/Formatter/FileMediaFormatterTestBase.php --- b/core/modules/file/tests/src/Functional/Formatter/FileMediaFormatterTestBase.php +++ b/core/modules/file/tests/src/Functional/Formatter/FileMediaFormatterTestBase.php @@ -39,7 +39,7 @@ * The formatter ID. * @param string $file_extensions * The file extensions of the new field. - * @param string[] $formatter_settings + * @param array $formatter_settings * Settings for the formatter. * * @return \Drupal\field\Entity\FieldConfig @@ -76,2 +76,18 @@ + /** + * Data provider for testRender. + * + * @return array + * An array of data arrays. + * The data array contains: + * - The number of expected HTML tags. + * - An array of settings for the field formatter. + */ + public function dataProvider() { + return [ + [2, []], + [1, ['multiple_file_display_type' => 'sources']], + ]; + } + } diff -u b/core/modules/file/tests/src/Functional/Formatter/FileVideoFormatterTest.php b/core/modules/file/tests/src/Functional/Formatter/FileVideoFormatterTest.php --- b/core/modules/file/tests/src/Functional/Formatter/FileVideoFormatterTest.php +++ b/core/modules/file/tests/src/Functional/Formatter/FileVideoFormatterTest.php @@ -17,7 +17,6 @@ * @dataProvider dataProvider */ public function testRender($tag_count, $formatter_settings) { - $field_config = $this->createMediaField('file_video', 'mp4', $formatter_settings); file_put_contents('public://file.mp4', str_repeat('t', 10)); @@ -50,22 +49,10 @@ $file1_url = file_url_transform_relative(file_create_url($file1->getFileUri())); $file2_url = file_url_transform_relative(file_create_url($file2->getFileUri())); - $this->assertSession()->elementsCount('css', 'video[controls="controls"]', $tag_count); - $this->assertSession()->elementExists('css', "video > source[src='$file1_url'][type='video/mp4']"); - $this->assertSession()->elementExists('css', "video > source[src='$file2_url'][type='video/mp4']"); - } - - /** - * Data provider for testRender. - * - * @return array - * Provided data. - */ - public function dataProvider() { - return [ - [2, []], - [1, ['multiple_file_display_type' => 'sources']], - ]; + $assert_session = $this->assertSession(); + $assert_session->elementsCount('css', 'video[controls="controls"]', $tag_count); + $assert_session->elementExists('css', "video > source[src='$file1_url'][type='video/mp4']"); + $assert_session->elementExists('css', "video > source[src='$file2_url'][type='video/mp4']"); } }