From 2c979f05ce6c320b5062006fa58c4ee85110da56 Mon Sep 17 00:00:00 2001 From: Alex Pott <alex.a.pott@googlemail.com> Date: Mon, 25 Oct 2021 23:15:55 +0100 Subject: [PATCH] Issue #3208849 by yogeshmpawar, cilefen, phenaproxima, mohit_aghera, larowlan, danflanagan8: OEmbedWidget does not display the field's help text, only its own message --- .../Plugin/Field/FieldWidget/OEmbedWidget.php | 2 +- .../FieldWidget/OEmbedFieldWidgetTest.php | 43 +++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 core/modules/media/tests/src/Functional/FieldWidget/OEmbedFieldWidgetTest.php diff --git a/core/modules/media/src/Plugin/Field/FieldWidget/OEmbedWidget.php b/core/modules/media/src/Plugin/Field/FieldWidget/OEmbedWidget.php index 1252265e45b8..9ca270c6a17b 100644 --- a/core/modules/media/src/Plugin/Field/FieldWidget/OEmbedWidget.php +++ b/core/modules/media/src/Plugin/Field/FieldWidget/OEmbedWidget.php @@ -36,7 +36,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen $source = $items->getEntity()->getSource(); $message = $this->t('You can link to media from the following services: @providers', ['@providers' => implode(', ', $source->getProviders())]); - if (!empty($element['#value']['#description'])) { + if (!empty($element['value']['#description'])) { $element['value']['#description'] = [ '#theme' => 'item_list', '#items' => [$element['value']['#description'], $message], diff --git a/core/modules/media/tests/src/Functional/FieldWidget/OEmbedFieldWidgetTest.php b/core/modules/media/tests/src/Functional/FieldWidget/OEmbedFieldWidgetTest.php new file mode 100644 index 000000000000..5d1caf11ae77 --- /dev/null +++ b/core/modules/media/tests/src/Functional/FieldWidget/OEmbedFieldWidgetTest.php @@ -0,0 +1,43 @@ +<?php + +namespace Drupal\Tests\media\Functional\FieldWidget; + +use Drupal\field\Entity\FieldConfig; +use Drupal\Tests\media\Functional\MediaFunctionalTestBase; + +/** + * @covers \Drupal\media\Plugin\Field\FieldWidget\OEmbedWidget + * + * @group media + */ +class OEmbedFieldWidgetTest extends MediaFunctionalTestBase { + + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + + /** + * Tests that the oEmbed field widget shows the configured help text. + */ + public function testFieldWidgetHelpText() { + $account = $this->drupalCreateUser(['create media']); + $this->drupalLogin($account); + + $media_type = $this->createMediaType('oembed:video'); + $source_field = $media_type->getSource() + ->getSourceFieldDefinition($media_type) + ->getName(); + + /** @var \Drupal\field\Entity\FieldConfig $field */ + $field = FieldConfig::loadByName('media', $media_type->id(), $source_field); + $field->setDescription('This is help text for oEmbed field.') + ->save(); + + $this->drupalGet('media/add/' . $media_type->id()); + $assert_session = $this->assertSession(); + $assert_session->pageTextContains('This is help text for oEmbed field.'); + $assert_session->pageTextContains('You can link to media from the following services: YouTube, Vimeo'); + } + +} -- GitLab