From 239e6f638d66f45f397bb6613080cfd7cad794b0 Mon Sep 17 00:00:00 2001
From: Dave Long <dave@longwaveconsulting.com>
Date: Thu, 22 Aug 2024 22:26:26 +0100
Subject: [PATCH] Issue #3468781 by Spokje, catch, mondrake: AssetResolverTest
 should use ::willReturnMap() for mocking

---
 .../Tests/Core/Asset/AssetResolverTest.php    | 37 +++++++++----------
 1 file changed, 17 insertions(+), 20 deletions(-)

diff --git a/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php b/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php
index 4c5b49287d59..5a3915f0b61f 100644
--- a/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php
+++ b/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php
@@ -178,15 +178,15 @@ protected function setUp(): void {
    * @dataProvider providerAttachedCssAssets
    */
   public function testGetCssAssets(AttachedAssetsInterface $assets_a, AttachedAssetsInterface $assets_b, $expected_css_cache_item_count): void {
-    $this->libraryDiscovery->expects($this->any())
-      ->method('getLibraryByName')
-      ->willReturnOnConsecutiveCalls(
-        $this->libraries['drupal'],
-        $this->libraries['llama'],
-        $this->libraries['llama'],
-        $this->libraries['piggy'],
-        $this->libraries['piggy'],
-      );
+    $map = [
+      ['core', 'drupal', $this->libraries['drupal']],
+      ['core', 'jquery', $this->libraries['jquery']],
+      ['llama', 'css', $this->libraries['llama']],
+      ['piggy', 'css', $this->libraries['piggy']],
+    ];
+    $this->libraryDiscovery->method('getLibraryByName')
+      ->willReturnMap($map);
+
     $this->assetResolver->getCssAssets($assets_a, FALSE, $this->english);
     $this->assetResolver->getCssAssets($assets_b, FALSE, $this->english);
     $this->assertCount($expected_css_cache_item_count, $this->cache->getAllCids());
@@ -213,16 +213,13 @@ public static function providerAttachedCssAssets() {
    * @dataProvider providerAttachedJsAssets
    */
   public function testGetJsAssets(AttachedAssetsInterface $assets_a, AttachedAssetsInterface $assets_b, $expected_js_cache_item_count, $expected_multilingual_js_cache_item_count): void {
-    $this->libraryDiscovery->expects($this->any())
-      ->method('getLibraryByName')
-      ->willReturnOnConsecutiveCalls(
-        $this->libraries['drupal'],
-        $this->libraries['drupal'],
-        $this->libraries['jquery'],
-        $this->libraries['drupal'],
-        $this->libraries['drupal'],
-        $this->libraries['jquery'],
-      );
+    $map = [
+      ['core', 'drupal', $this->libraries['drupal']],
+      ['core', 'jquery', $this->libraries['jquery']],
+    ];
+    $this->libraryDiscovery->method('getLibraryByName')
+      ->willReturnMap($map);
+
     $this->assetResolver->getJsAssets($assets_a, FALSE, $this->english);
     $this->assetResolver->getJsAssets($assets_b, FALSE, $this->english);
     $this->assertCount($expected_js_cache_item_count, $this->cache->getAllCids());
@@ -245,7 +242,7 @@ public static function providerAttachedJsAssets() {
         (new AttachedAssets())->setAlreadyLoadedLibraries([])->setLibraries(['core/drupal'])->setSettings(['currentTime' => $time]),
         (new AttachedAssets())->setAlreadyLoadedLibraries([])->setLibraries(['core/drupal', 'core/jquery'])->setSettings(['currentTime' => $time]),
         2,
-        3,
+        4,
       ],
     ];
   }
-- 
GitLab