diff --git a/core/modules/media/src/Plugin/Field/FieldWidget/OEmbedWidget.php b/core/modules/media/src/Plugin/Field/FieldWidget/OEmbedWidget.php index 1252265e45b89261f7bff3f5e0dfc8a16b49576a..9ca270c6a17b9e2b593a1a4bb9d4666ed446fb65 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 0000000000000000000000000000000000000000..5d1caf11ae77667cdc728910d894ba5ec1597714 --- /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'); + } + +}