From 640ea9eaeebd5401543b206d00377968f154f57c Mon Sep 17 00:00:00 2001
From: Dave Long <dave@longwaveconsulting.com>
Date: Fri, 17 Feb 2023 16:23:48 +0000
Subject: [PATCH] Issue #3300957 by smustgrave, catch, jungle, joachim:
 Potentially speed up LinkFieldTest

(cherry picked from commit 3dda6feb836496c9f45b38f85b443e29f2ba4019)
---
 .../tests/src/Functional/LinkFieldTest.php    | 26 ++++++++++++++-----
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/core/modules/link/tests/src/Functional/LinkFieldTest.php b/core/modules/link/tests/src/Functional/LinkFieldTest.php
index 47ddf484d384..9f1255bce7bd 100644
--- a/core/modules/link/tests/src/Functional/LinkFieldTest.php
+++ b/core/modules/link/tests/src/Functional/LinkFieldTest.php
@@ -68,10 +68,24 @@ protected function setUp(): void {
     ]));
   }
 
+  /**
+   * Tests the functionality and rendering of the link field.
+   *
+   * This is being as one to avoid multiple Drupal install.
+   */
+  public function testLinkField() {
+    $this->doTestURLValidation();
+    $this->doTestLinkTitle();
+    $this->doTestLinkFormatter();
+    $this->doTestLinkSeparateFormatter();
+    $this->doTestEditNonNodeEntityLink();
+    $this->doTestLinkTypeOnLinkWidget();
+  }
+
   /**
    * Tests link field URL validation.
    */
-  public function testURLValidation() {
+  protected function doTestURLValidation() {
     $field_name = mb_strtolower($this->randomMachineName());
     // Create a field with settings to validate.
     $this->fieldStorage = FieldStorageConfig::create([
@@ -255,7 +269,7 @@ protected function assertInvalidEntries(string $field_name, array $invalid_entri
   /**
    * Tests the link title settings of a link field.
    */
-  public function testLinkTitle() {
+  protected function doTestLinkTitle() {
     $field_name = mb_strtolower($this->randomMachineName());
     // Create a field with settings to validate.
     $this->fieldStorage = FieldStorageConfig::create([
@@ -380,7 +394,7 @@ public function testLinkTitle() {
   /**
    * Tests the default 'link' formatter.
    */
-  public function testLinkFormatter() {
+  protected function doTestLinkFormatter() {
     $field_name = mb_strtolower($this->randomMachineName());
     // Create a field with settings to validate.
     $this->fieldStorage = FieldStorageConfig::create([
@@ -537,7 +551,7 @@ public function testLinkFormatter() {
    * This test is mostly the same as testLinkFormatter(), but they cannot be
    * merged, since they involve different configuration and output.
    */
-  public function testLinkSeparateFormatter() {
+  protected function doTestLinkSeparateFormatter() {
     $field_name = mb_strtolower($this->randomMachineName());
     // Create a field with settings to validate.
     $this->fieldStorage = FieldStorageConfig::create([
@@ -664,7 +678,7 @@ public function testLinkSeparateFormatter() {
    * a link and also which LinkItemInterface::LINK_* is (EXTERNAL, GENERIC,
    * INTERNAL).
    */
-  public function testLinkTypeOnLinkWidget() {
+  protected function doTestLinkTypeOnLinkWidget() {
 
     $link_type = LinkItemInterface::LINK_EXTERNAL;
     $field_name = mb_strtolower($this->randomMachineName());
@@ -702,7 +716,7 @@ public function testLinkTypeOnLinkWidget() {
   /**
    * Tests editing a link to a non-node entity.
    */
-  public function testEditNonNodeEntityLink() {
+  protected function doTestEditNonNodeEntityLink() {
 
     $entity_type_manager = \Drupal::entityTypeManager();
     $entity_test_storage = $entity_type_manager->getStorage('entity_test');
-- 
GitLab