From ef3e23eca20849bf01a75c8b126a8a1e3ca410ab Mon Sep 17 00:00:00 2001
From: jrockowitz <3537824+jrockowitz@users.noreply.github.com>
Date: Sun, 12 Jan 2025 20:54:10 -0500
Subject: [PATCH] Issue #3499273: Update to custom field 3.1.x

---
 composer.json                                 |  2 +-
 composer.libraries.json                       |  2 +-
 .../src/SchemaDotOrgCustomFieldManager.php    |  8 +++
 .../SchemaDotOrgCustomFieldBuilderTest.php    |  2 +-
 ...hemaDotOrgCustomFieldManagerKernelTest.php | 66 +++++++------------
 5 files changed, 35 insertions(+), 45 deletions(-)

diff --git a/composer.json b/composer.json
index 7e71452a8..7ebaa928d 100644
--- a/composer.json
+++ b/composer.json
@@ -27,7 +27,7 @@
         "drupal/cer": "^5.0",
         "drupal/config_rewrite": "^1.0",
         "drupal/content_model_documentation": "^1.0",
-        "drupal/custom_field": "3.0.3",
+        "drupal/custom_field": "^3.0",
         "drupal/devel": "^5.0",
         "drupal/embed": "^1.0",
         "drupal/entity_browser": "^2.0",
diff --git a/composer.libraries.json b/composer.libraries.json
index 39c5c3f4b..48824053c 100644
--- a/composer.libraries.json
+++ b/composer.libraries.json
@@ -24,7 +24,7 @@
     "drupal/cer": "^5.0",
     "drupal/config_rewrite": "^1.0",
     "drupal/content_model_documentation": "^1.0",
-    "drupal/custom_field": "3.0.3",
+    "drupal/custom_field": "^3.0",
     "drupal/embed": "^1.0",
     "drupal/entity_browser": "^2.0",
     "drupal/entity_embed": "^1.0",
diff --git a/modules/schemadotorg_custom_field/src/SchemaDotOrgCustomFieldManager.php b/modules/schemadotorg_custom_field/src/SchemaDotOrgCustomFieldManager.php
index 3d6743cee..b5cab9fd0 100644
--- a/modules/schemadotorg_custom_field/src/SchemaDotOrgCustomFieldManager.php
+++ b/modules/schemadotorg_custom_field/src/SchemaDotOrgCustomFieldManager.php
@@ -250,6 +250,14 @@ class SchemaDotOrgCustomFieldManager implements SchemaDotOrgCustomFieldManagerIn
       if (!empty($field_settings[$name]['widget_settings']['settings']['prefix'])
         || !empty($field_settings[$name]['widget_settings']['settings']['suffix'])) {
         $formatter_settings['fields'][$name]['format_type'] = $field_type->getDefaultFormatter();
+        $formatter_settings['fields'][$name]['wrappers'] = [
+          'field_wrapper_tag' => '',
+          'field_wrapper_classes' => '',
+          'field_tag' => '',
+          'field_classes' => '',
+          'label_tag' => '',
+          'label_classes' => '',
+        ];
         $formatter_settings['fields'][$name]['formatter_settings']['prefix_suffix'] = TRUE;
       }
 
diff --git a/modules/schemadotorg_custom_field/tests/src/Functional/SchemaDotOrgCustomFieldBuilderTest.php b/modules/schemadotorg_custom_field/tests/src/Functional/SchemaDotOrgCustomFieldBuilderTest.php
index 60d9cf557..d4094f3aa 100644
--- a/modules/schemadotorg_custom_field/tests/src/Functional/SchemaDotOrgCustomFieldBuilderTest.php
+++ b/modules/schemadotorg_custom_field/tests/src/Functional/SchemaDotOrgCustomFieldBuilderTest.php
@@ -54,7 +54,7 @@ class SchemaDotOrgCustomFieldBuilderTest extends SchemaDotOrgBrowserTestBase {
     $this->submitForm($edit, 'Save');
 
     $assert->responseContains('<title>Some recipe | Drupal</title>');
-    $assert->responseContains('<div class="field__label ">Calories</div>');
+    $assert->responseContains('<div class="field__label">Calories</div>');
     $assert->responseContains('<div class="field__item">10 calories</div>');
   }
 
diff --git a/modules/schemadotorg_custom_field/tests/src/Kernel/SchemaDotOrgCustomFieldManagerKernelTest.php b/modules/schemadotorg_custom_field/tests/src/Kernel/SchemaDotOrgCustomFieldManagerKernelTest.php
index 5b7dfb7b4..fd4f85ef7 100644
--- a/modules/schemadotorg_custom_field/tests/src/Kernel/SchemaDotOrgCustomFieldManagerKernelTest.php
+++ b/modules/schemadotorg_custom_field/tests/src/Kernel/SchemaDotOrgCustomFieldManagerKernelTest.php
@@ -240,6 +240,19 @@ class SchemaDotOrgCustomFieldManagerKernelTest extends SchemaDotOrgEntityKernelT
     /** @var \Drupal\Core\Entity\Display\EntityViewDisplayInterface $entity_form_display */
     $entity_view_display = EntityViewDisplay::load('node.recipe.default');
     $components = $entity_view_display->getComponents();
+    $component_defaults = [
+      'wrappers' => [
+        'field_wrapper_tag' => '',
+        'field_wrapper_classes' => '',
+        'field_tag' => '',
+        'field_classes' => '',
+        'label_tag' => '',
+        'label_classes' => '',
+      ],
+      'formatter_settings' => [
+        'prefix_suffix' => TRUE,
+      ],
+    ];
     $expected_component = [
       'type' => 'custom_formatter',
       'label' => 'above',
@@ -247,68 +260,37 @@ class SchemaDotOrgCustomFieldManagerKernelTest extends SchemaDotOrgEntityKernelT
         'fields' => [
           'calories' => [
             'format_type' => 'number_integer',
-            'formatter_settings' => ['prefix_suffix' => TRUE],
-          ],
+          ] + $component_defaults,
           'carbohydrate_content' => [
             'format_type' => 'number_integer',
-            'formatter_settings' => [
-              'prefix_suffix' => TRUE,
-            ],
-          ],
+          ] + $component_defaults,
           'cholesterol_content' => [
             'format_type' => 'number_integer',
-            'formatter_settings' => [
-              'prefix_suffix' => TRUE,
-            ],
-          ],
+          ] + $component_defaults,
           'fat_content' => [
             'format_type' => 'number_integer',
-            'formatter_settings' => [
-              'prefix_suffix' => TRUE,
-            ],
-          ],
+          ] + $component_defaults,
           'fiber_content' => [
             'format_type' => 'number_integer',
-            'formatter_settings' => [
-              'prefix_suffix' => TRUE,
-            ],
-          ],
+          ] + $component_defaults,
           'protein_content' => [
             'format_type' => 'number_integer',
-            'formatter_settings' => [
-              'prefix_suffix' => TRUE,
-            ],
-          ],
+          ] + $component_defaults,
           'saturated_fat_content' => [
             'format_type' => 'number_integer',
-            'formatter_settings' => [
-              'prefix_suffix' => TRUE,
-            ],
-          ],
+          ] + $component_defaults,
           'sodium_content' => [
             'format_type' => 'number_integer',
-            'formatter_settings' => [
-              'prefix_suffix' => TRUE,
-            ],
-          ],
+          ] + $component_defaults,
           'sugar_content' => [
             'format_type' => 'number_integer',
-            'formatter_settings' => [
-              'prefix_suffix' => TRUE,
-            ],
-          ],
+          ] + $component_defaults,
           'trans_fat_content' => [
             'format_type' => 'number_integer',
-            'formatter_settings' => [
-              'prefix_suffix' => TRUE,
-            ],
-          ],
+          ] + $component_defaults,
           'unsaturated_fat_content' => [
             'format_type' => 'number_integer',
-            'formatter_settings' => [
-              'prefix_suffix' => TRUE,
-            ],
-          ],
+          ] + $component_defaults,
         ],
       ],
       'third_party_settings' => [],
-- 
GitLab