diff --git a/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php b/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php index 29fa146d487431b8ca07785c3ddc5d7eda143a1f..1742f56fe28291479cfd2766ad06af63e8fd30e5 100644 --- a/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php +++ b/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php @@ -72,6 +72,7 @@ public static function defaultStorageSettings() { 'width' => NULL, 'height' => NULL, ], + 'display_default' => TRUE, ] + parent::defaultStorageSettings(); } diff --git a/core/modules/image/tests/src/Kernel/ImageItemTest.php b/core/modules/image/tests/src/Kernel/ImageItemTest.php index aad34b9efab46cd173369a75726ca16a04cf41aa..0598b25e9db8542a08c06554e8e0cde77573f5cf 100644 --- a/core/modules/image/tests/src/Kernel/ImageItemTest.php +++ b/core/modules/image/tests/src/Kernel/ImageItemTest.php @@ -5,14 +5,20 @@ namespace Drupal\Tests\image\Kernel; use Drupal\Core\Database\Database; +use Drupal\Core\Entity\ContentEntityForm; +use Drupal\Core\Entity\Entity\EntityFormDisplay; +use Drupal\Core\Entity\EntityDisplayRepositoryInterface; +use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Field\FieldItemInterface; use Drupal\Core\Field\FieldItemListInterface; use Drupal\Core\Field\FieldStorageDefinitionInterface; +use Drupal\Core\Form\FormBuilderInterface; +use Drupal\Core\Form\FormState; use Drupal\entity_test\Entity\EntityTest; use Drupal\field\Entity\FieldConfig; -use Drupal\Tests\field\Kernel\FieldKernelTestBase; use Drupal\field\Entity\FieldStorageConfig; use Drupal\file\Entity\File; +use Drupal\Tests\field\Kernel\FieldKernelTestBase; use Drupal\user\Entity\Role; /** @@ -92,6 +98,9 @@ protected function setUp(): void { ]); $this->image->save(); $this->imageFactory = $this->container->get('image.factory'); + $this->container->get(EntityDisplayRepositoryInterface::class) + ->getFormDisplay('entity_test', 'entity_test') + ->setComponent('image_test', ['type' => 'image_image'])->save(); } /** @@ -198,4 +207,22 @@ public function testImageItemMalformed(): void { $this->assertEmpty($entity->image_test->height); } + /** + * Tests display_default. + */ + public function testDisplayDefaultValue(): void { + $entity = EntityTest::create([ + 'name' => $this->randomMachineName(), + ]); + $form_object = $this->container->get(EntityTypeManagerInterface::class)->getFormObject('entity_test', 'default'); + \assert($form_object instanceof ContentEntityForm); + $form_object->setEntity($entity); + $form_display = EntityFormDisplay::collectRenderDisplay($entity, 'default'); + \assert($form_display instanceof EntityFormDisplay); + $form_state = new FormState(); + $form_object->setFormDisplay($form_display, $form_state); + $this->container->get(FormBuilderInterface::class)->buildForm($form_object, $form_state); + self::assertEquals(1, $form_state->getValue(['image_test', 0, 'display'])); + } + }