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