From 13de2fed3b20e74db4ab462984b4809578456fc1 Mon Sep 17 00:00:00 2001
From: Ted Bowman <41201-tedbow@users.noreply.drupalcode.org>
Date: Wed, 27 Mar 2024 22:47:35 +0000
Subject: [PATCH] Issue #3435893: SupportedReleaseValidator does not provide
 translatable messages for all errors

---
 .../Validator/SupportedReleaseValidator.php   | 16 ++++++++-----
 .../Kernel/SupportedReleaseValidatorTest.php  | 24 +++++++++++++++++++
 2 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/package_manager/src/Validator/SupportedReleaseValidator.php b/package_manager/src/Validator/SupportedReleaseValidator.php
index 176da4ed88..8f159802fa 100644
--- a/package_manager/src/Validator/SupportedReleaseValidator.php
+++ b/package_manager/src/Validator/SupportedReleaseValidator.php
@@ -121,12 +121,16 @@ final class SupportedReleaseValidator implements EventSubscriberInterface {
       $event->addError($unsupported_packages, $summary);
     }
     if ($unknown_packages) {
-      $summary = $this->formatPlural(
-        count($unknown_packages),
-        'Cannot update because the following new or updated Drupal package does not have project information.',
-        'Cannot update because the following new or updated Drupal packages do not have project information.',
-      );
-      $event->addError($unknown_packages, $summary);
+      $event->addError([
+        $this->formatPlural(
+          count($unknown_packages),
+          'Cannot update because the following new or updated Drupal package does not have project information: @unknown_packages',
+          'Cannot update because the following new or updated Drupal packages do not have project information: @unknown_packages',
+          [
+            '@unknown_packages' => implode(', ', $unknown_packages),
+          ],
+        ),
+      ]);
     }
   }
 
diff --git a/package_manager/tests/src/Kernel/SupportedReleaseValidatorTest.php b/package_manager/tests/src/Kernel/SupportedReleaseValidatorTest.php
index 6cf8701d5e..156ba3630c 100644
--- a/package_manager/tests/src/Kernel/SupportedReleaseValidatorTest.php
+++ b/package_manager/tests/src/Kernel/SupportedReleaseValidatorTest.php
@@ -49,6 +49,18 @@ class SupportedReleaseValidatorTest extends PackageManagerKernelTestBase {
         'version' => '8.1.0',
         'type' => 'drupal-module',
       ])
+      ->addPackage(
+          [
+            'name' => "drupal/module_no_project",
+            'version' => '1.0.0',
+            'type' => 'drupal-module',
+          ],
+          FALSE,
+          FALSE,
+          [
+            'module_no_project.info.yml' => '{name: "Module No Project", type: "module"}',
+          ],
+      )
       ->commitChanges();
   }
 
@@ -179,6 +191,18 @@ class SupportedReleaseValidatorTest extends PackageManagerKernelTestBase {
         ],
         [],
       ],
+      'updating a module that does not have project info' => [
+        [],
+        TRUE,
+        [
+          'name' => "drupal/module_no_project",
+          'version' => '1.1.0',
+          'type' => 'drupal-module',
+        ],
+        [
+          ValidationResult::createError([t('Cannot update because the following new or updated Drupal package does not have project information: drupal/module_no_project')]),
+        ],
+      ],
     ];
   }
 
-- 
GitLab