From 8929ebe86f354c310ce6e408f7484c9928c6582a Mon Sep 17 00:00:00 2001
From: catch <catch@35733.no-reply.drupal.org>
Date: Fri, 20 Jan 2023 14:04:42 +0000
Subject: [PATCH] Issue #3333858 by miiimooo, larowlan: Blocks that have
 #attached set removed after upgrade

(cherry picked from commit de66aa933417b8b5ee6598ad515af55f8df9eae4)
---
 core/lib/Drupal/Core/Render/Element.php            |  4 ++--
 .../tests/Drupal/Tests/Core/Render/ElementTest.php | 14 +++++++-------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/core/lib/Drupal/Core/Render/Element.php b/core/lib/Drupal/Core/Render/Element.php
index dbd0804119ae..45d517c67665 100644
--- a/core/lib/Drupal/Core/Render/Element.php
+++ b/core/lib/Drupal/Core/Render/Element.php
@@ -187,7 +187,7 @@ public static function setAttributes(array &$element, array $map) {
   /**
    * Indicates whether the given element is empty.
    *
-   * An element that only has #cache, #weight, or #attached set is considered
+   * An element that only has #cache or #weight set is considered
    * empty, because it will render to the empty string.
    *
    * @param array $elements
@@ -197,7 +197,7 @@ public static function setAttributes(array &$element, array $map) {
    *   Whether the given element is empty.
    */
   public static function isEmpty(array $elements) {
-    return \array_diff(\array_keys($elements), ['#cache', '#weight', '#attached']) === [];
+    return \array_diff(\array_keys($elements), ['#cache', '#weight']) === [];
   }
 
 }
diff --git a/core/tests/Drupal/Tests/Core/Render/ElementTest.php b/core/tests/Drupal/Tests/Core/Render/ElementTest.php
index b847e672af20..da5f5694dcf2 100644
--- a/core/tests/Drupal/Tests/Core/Render/ElementTest.php
+++ b/core/tests/Drupal/Tests/Core/Render/ElementTest.php
@@ -188,13 +188,13 @@ public function testIsEmpty(array $element, $expected) {
   public function providerTestIsEmpty() {
     return [
       [[], TRUE],
-      [['#attached' => []], TRUE],
+      [['#attached' => []], FALSE],
       [['#cache' => []], TRUE],
       [['#weight' => []], TRUE],
       // Variations.
-      [['#attached' => [], '#cache' => []], TRUE],
-      [['#attached' => [], '#weight' => []], TRUE],
-      [['#attached' => [], '#weight' => [], '#cache' => []], TRUE],
+      [['#attached' => [], '#cache' => []], FALSE],
+      [['#attached' => [], '#weight' => []], FALSE],
+      [['#attached' => [], '#weight' => [], '#cache' => []], FALSE],
       [['#cache' => [], '#weight' => []], TRUE],
       [['#cache' => [], '#weight' => [], '#any_other_property' => []], FALSE],
       [
@@ -207,9 +207,9 @@ public function providerTestIsEmpty() {
         FALSE,
       ],
       // Cover sorting.
-      [['#cache' => [], '#weight' => [], '#attached' => []], TRUE],
-      [['#attached' => [], '#cache' => [], '#weight' => []], TRUE],
-      [['#weight' => [], '#attached' => [], '#cache' => []], TRUE],
+      [['#cache' => [], '#weight' => [], '#attached' => []], FALSE],
+      [['#cache' => [], '#weight' => []], TRUE],
+      [['#weight' => [], '#cache' => []], TRUE],
 
       [['#cache' => []], TRUE],
       [['#cache' => ['tags' => ['foo']]], TRUE],
-- 
GitLab