From b42adc0e5834f20a7de61b649630a1a2795f0b63 Mon Sep 17 00:00:00 2001
From: Brian Canini <canini.16@osu.edu>
Date: Wed, 8 Jul 2020 11:00:35 -0400
Subject: [PATCH] Updating drupal/media_entity_browser (2.0.0-alpha2 =>
 2.0.0-alpha3)

---
 composer.json                                 |  2 +-
 composer.lock                                 | 25 ++++++++-------
 vendor/composer/installed.json                | 25 ++++++++-------
 .../media_entity_browser.info.yml             | 10 +++---
 ...iew.media_entity_browser_media_library.yml |  4 +--
 ...edia_entity_browser_media_library.info.yml | 18 +++++------
 ...tity_browser_media_library.post_update.php | 31 +++++++++++++++++++
 .../MediaEntityBrowserMediaLibraryTest.php    | 20 +++++++-----
 .../MediaEntityBrowserTest.php                | 17 +++++++---
 9 files changed, 99 insertions(+), 53 deletions(-)
 create mode 100644 web/modules/media_entity_browser/media_entity_browser_media_library/media_entity_browser_media_library.post_update.php

diff --git a/composer.json b/composer.json
index 463ee29a63..988d38d5e6 100644
--- a/composer.json
+++ b/composer.json
@@ -135,7 +135,7 @@
         "drupal/linkit": "5.0-beta11",
         "drupal/magnific_popup": "1.3",
         "drupal/mathjax": "2.7",
-        "drupal/media_entity_browser": "2.0-alpha2",
+        "drupal/media_entity_browser": "2.0-alpha3",
         "drupal/media_entity_twitter": "2.4",
         "drupal/menu_block": "1.6",
         "drupal/menu_block_title": "1.1",
diff --git a/composer.lock b/composer.lock
index b8707c1a6e..e5e9aea41b 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "e64540d10d8462e48419fbc2d4fb1a2c",
+    "content-hash": "b2943296f6ce8be8b4d2043b2b0b4d27",
     "packages": [
         {
             "name": "alchemy/zippy",
@@ -5674,20 +5674,20 @@
         },
         {
             "name": "drupal/media_entity_browser",
-            "version": "2.0.0-alpha2",
+            "version": "2.0.0-alpha3",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/media_entity_browser.git",
-                "reference": "8.x-2.0-alpha2"
+                "reference": "8.x-2.0-alpha3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/media_entity_browser-8.x-2.0-alpha2.zip",
-                "reference": "8.x-2.0-alpha2",
-                "shasum": "41fea535c0770caa2fc4eca7216bbafb796b4d17"
+                "url": "https://ftp.drupal.org/files/projects/media_entity_browser-8.x-2.0-alpha3.zip",
+                "reference": "8.x-2.0-alpha3",
+                "shasum": "d24510f705d676ad84af35b9c0597dcdf9b7cd25"
             },
             "require": {
-                "drupal/core": "*",
+                "drupal/core": "^8 || ^9",
                 "drupal/entity_browser": "*",
                 "drupal/entity_browser_entity_form": "*",
                 "drupal/inline_entity_form": "*"
@@ -5701,12 +5701,9 @@
             },
             "type": "drupal-module",
             "extra": {
-                "branch-alias": {
-                    "dev-2.x": "2.x-dev"
-                },
                 "drupal": {
-                    "version": "8.x-2.0-alpha2",
-                    "datestamp": "1558337585",
+                    "version": "8.x-2.0-alpha3",
+                    "datestamp": "1593747594",
                     "security-coverage": {
                         "status": "not-covered",
                         "message": "Alpha releases are not covered by Drupal security advisories."
@@ -5722,6 +5719,10 @@
                     "name": "Sam152",
                     "homepage": "https://www.drupal.org/user/1485048"
                 },
+                {
+                    "name": "acbramley",
+                    "homepage": "https://www.drupal.org/user/1036766"
+                },
                 {
                     "name": "benjy",
                     "homepage": "https://www.drupal.org/user/1852732"
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 64f81fcd16..51e31dd0e2 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -5846,21 +5846,21 @@
     },
     {
         "name": "drupal/media_entity_browser",
-        "version": "2.0.0-alpha2",
-        "version_normalized": "2.0.0.0-alpha2",
+        "version": "2.0.0-alpha3",
+        "version_normalized": "2.0.0.0-alpha3",
         "source": {
             "type": "git",
             "url": "https://git.drupalcode.org/project/media_entity_browser.git",
-            "reference": "8.x-2.0-alpha2"
+            "reference": "8.x-2.0-alpha3"
         },
         "dist": {
             "type": "zip",
-            "url": "https://ftp.drupal.org/files/projects/media_entity_browser-8.x-2.0-alpha2.zip",
-            "reference": "8.x-2.0-alpha2",
-            "shasum": "41fea535c0770caa2fc4eca7216bbafb796b4d17"
+            "url": "https://ftp.drupal.org/files/projects/media_entity_browser-8.x-2.0-alpha3.zip",
+            "reference": "8.x-2.0-alpha3",
+            "shasum": "d24510f705d676ad84af35b9c0597dcdf9b7cd25"
         },
         "require": {
-            "drupal/core": "*",
+            "drupal/core": "^8 || ^9",
             "drupal/entity_browser": "*",
             "drupal/entity_browser_entity_form": "*",
             "drupal/inline_entity_form": "*"
@@ -5874,12 +5874,9 @@
         },
         "type": "drupal-module",
         "extra": {
-            "branch-alias": {
-                "dev-2.x": "2.x-dev"
-            },
             "drupal": {
-                "version": "8.x-2.0-alpha2",
-                "datestamp": "1558337585",
+                "version": "8.x-2.0-alpha3",
+                "datestamp": "1593747594",
                 "security-coverage": {
                     "status": "not-covered",
                     "message": "Alpha releases are not covered by Drupal security advisories."
@@ -5896,6 +5893,10 @@
                 "name": "Sam152",
                 "homepage": "https://www.drupal.org/user/1485048"
             },
+            {
+                "name": "acbramley",
+                "homepage": "https://www.drupal.org/user/1036766"
+            },
             {
                 "name": "benjy",
                 "homepage": "https://www.drupal.org/user/1852732"
diff --git a/web/modules/media_entity_browser/media_entity_browser.info.yml b/web/modules/media_entity_browser/media_entity_browser.info.yml
index 4e92893b86..af9653d683 100644
--- a/web/modules/media_entity_browser/media_entity_browser.info.yml
+++ b/web/modules/media_entity_browser/media_entity_browser.info.yml
@@ -2,7 +2,8 @@ name: Media Entity Browser
 type: module
 description: 'This module provides an Entity Browser for Media.'
 package: Media
-# core: '8.x'
+core: '8.x'
+core_version_requirement: ^8 || ^9
 
 dependencies:
   - inline_entity_form:inline_entity_form
@@ -27,8 +28,7 @@ config_devel:
   - entity_browser.browser.media_entity_browser
   - embed.button.media_entity_embed
 
-# Information added by Drupal.org packaging script on 2019-05-20
-version: '8.x-2.0-alpha2'
-core: '8.x'
+# Information added by Drupal.org packaging script on 2020-07-03
+version: '8.x-2.0-alpha3'
 project: 'media_entity_browser'
-datestamp: 1558337596
+datestamp: 1593747597
diff --git a/web/modules/media_entity_browser/media_entity_browser_media_library/config/install/views.view.media_entity_browser_media_library.yml b/web/modules/media_entity_browser/media_entity_browser_media_library/config/install/views.view.media_entity_browser_media_library.yml
index ac87be7581..00ca31ac0d 100644
--- a/web/modules/media_entity_browser/media_entity_browser_media_library/config/install/views.view.media_entity_browser_media_library.yml
+++ b/web/modules/media_entity_browser/media_entity_browser_media_library/config/install/views.view.media_entity_browser_media_library.yml
@@ -72,7 +72,7 @@ display:
         type: default
         options:
           grouping: {  }
-          row_class: 'media-library-item js-media-library-item js-click-to-select'
+          row_class: 'media-library-item media-library-item--grid js-media-library-item js-click-to-select'
           default_row_class: true
       row:
         type: fields
@@ -396,4 +396,4 @@ display:
         - url.query_args
         - 'url.query_args:sort_by'
         - user.permissions
-      tags: {  }
\ No newline at end of file
+      tags: {  }
diff --git a/web/modules/media_entity_browser/media_entity_browser_media_library/media_entity_browser_media_library.info.yml b/web/modules/media_entity_browser/media_entity_browser_media_library/media_entity_browser_media_library.info.yml
index 61a2d3522a..b33010034e 100644
--- a/web/modules/media_entity_browser/media_entity_browser_media_library/media_entity_browser_media_library.info.yml
+++ b/web/modules/media_entity_browser/media_entity_browser_media_library/media_entity_browser_media_library.info.yml
@@ -2,22 +2,23 @@ name: Media Entity Browser (Media Library)
 type: module
 description: 'This module provides an Entity Browser for Media which integrates with the Media Library'
 package: Media
-# core: '8.x'
+core: '8.x'
+core_version_requirement: ^8 || ^9
 
 dependencies:
   - inline_entity_form:inline_entity_form
   - entity_browser:entity_browser
   - entity_browser:entity_browser_entity_form
-  - drupal:media
-  - drupal:media_library
+  - drupal:media (>=8.7)
+  - drupal:media_library (>=8.7)
   - drupal:views
 
 test_dependencies:
   - inline_entity_form (>=8.x-1.x)
   - entity_browser (>=8.x-2.x)
   - entity_browser:entity_browser_entity_form (>=8.x-2.x)
-  - drupal:media (>=8.6)
-  - drupal:media_library (>=8.6)
+  - drupal:media (>=8.7)
+  - drupal:media_library (>=8.7)
   - ctools:ctools
 
 # To export this config, make sure config_devel is installed, cache is rebuilt
@@ -26,8 +27,7 @@ config_devel:
   - views.view.media_entity_browser_media_library
   - entity_browser.browser.media_entity_browser_media_library
 
-# Information added by Drupal.org packaging script on 2019-05-20
-version: '8.x-2.0-alpha2'
-core: '8.x'
+# Information added by Drupal.org packaging script on 2020-07-03
+version: '8.x-2.0-alpha3'
 project: 'media_entity_browser'
-datestamp: 1558337596
+datestamp: 1593747597
diff --git a/web/modules/media_entity_browser/media_entity_browser_media_library/media_entity_browser_media_library.post_update.php b/web/modules/media_entity_browser/media_entity_browser_media_library/media_entity_browser_media_library.post_update.php
new file mode 100644
index 0000000000..0af8b67aa5
--- /dev/null
+++ b/web/modules/media_entity_browser/media_entity_browser_media_library/media_entity_browser_media_library.post_update.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * @file
+ * Post update file.
+ */
+
+use Drupal\views\Entity\View;
+
+/**
+ * Update the MEB Media library view with D8.7 Media Library row classes.
+ */
+function media_entity_browser_media_library_post_update_fix_views_classes() {
+  /** @var \Drupal\views\Entity\View $view */
+  if ($view = View::load('media_entity_browser_media_library')) {
+
+    $display = &$view->getDisplay('default');
+
+    if (!empty($display)) {
+      // Merge classes.
+      $core_media_library_classes = 'media-library-item media-library-item--grid js-media-library-item js-click-to-select';
+      $core_classes_array = explode(' ', $core_media_library_classes);
+      $view_classes = explode(' ', $display['display_options']['style']['options']['row_class']);
+
+      $classes = array_unique(array_merge($view_classes, $core_classes_array));
+
+      $display['display_options']['style']['options']['row_class'] = implode(' ', $classes);
+      $view->trustData()->save();
+    }
+  }
+}
diff --git a/web/modules/media_entity_browser/media_entity_browser_media_library/tests/src/FunctionalJavascript/MediaEntityBrowserMediaLibraryTest.php b/web/modules/media_entity_browser/media_entity_browser_media_library/tests/src/FunctionalJavascript/MediaEntityBrowserMediaLibraryTest.php
index 2a4e7258e5..d8a2746269 100644
--- a/web/modules/media_entity_browser/media_entity_browser_media_library/tests/src/FunctionalJavascript/MediaEntityBrowserMediaLibraryTest.php
+++ b/web/modules/media_entity_browser/media_entity_browser_media_library/tests/src/FunctionalJavascript/MediaEntityBrowserMediaLibraryTest.php
@@ -14,12 +14,18 @@
 class MediaEntityBrowserMediaLibraryTest extends WebDriverTestBase {
 
   use MediaTypeCreationTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $defaultTheme = 'stable';
+
   /**
    * Modules to install.
    *
    * @var array
    */
-  public static $modules = [
+  protected static $modules = [
     'media',
     'inline_entity_form',
     'entity_browser',
@@ -34,17 +40,17 @@ class MediaEntityBrowserMediaLibraryTest extends WebDriverTestBase {
   /**
    * {@inheritdoc}
    */
-  public function setUp() {
+  public function setUp(): void {
     parent::setUp();
     $this->drupalLogin($this->drupalCreateUser(array_keys($this->container->get('user.permissions')->getPermissions())));
     $this->createMediaType('video_embed_field', [
       'label' => 'Video',
-      'bundle' => 'video',
+      'id' => 'video',
     ]);
 
     Media::create([
       'bundle' => 'video',
-      'field_media_video_embed_field' => [['value' => 'https://www.youtube.com/watch?v=XgYu7-DQjDQ']],
+      'field_media_video_embed_field' => [['value' => 'https://www.youtube.com/watch?v=JQFKVbfqz7w']],
     ])->save();
   }
 
@@ -57,11 +63,11 @@ public function testMediaBrowser() {
     $this->assertSession()->assertWaitOnAjaxRequest();
 
     $this->assertSession()->elementExists('css', '.media-library-view');
-    $this->assertSession()->elementExists('css', '.media-library-item__preview');
+    $this->assertSession()->elementExists('css', '.media-library-item');
 
     $this->assertSession()->elementNotExists('css', '.js-click-to-select.checked');
-    $this->getSession()->getPage()->find('css', '.js-click-to-select')->press();
-    $this->assertSession()->elementExists('css', '.js-click-to-select.checked');
+    $this->getSession()->getPage()->find('css', '.js-click-to-select input[type=checkbox]')->press();
+    $this->assertNotNull($this->assertSession()->waitForElement('css', '.js-click-to-select.checked'));
   }
 
 }
diff --git a/web/modules/media_entity_browser/tests/src/FunctionalJavascript/MediaEntityBrowserTest.php b/web/modules/media_entity_browser/tests/src/FunctionalJavascript/MediaEntityBrowserTest.php
index 75e1dca72e..590402fbda 100644
--- a/web/modules/media_entity_browser/tests/src/FunctionalJavascript/MediaEntityBrowserTest.php
+++ b/web/modules/media_entity_browser/tests/src/FunctionalJavascript/MediaEntityBrowserTest.php
@@ -14,12 +14,18 @@
 class MediaEntityBrowserTest extends WebDriverTestBase {
 
   use MediaTypeCreationTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $defaultTheme = 'stable';
+
   /**
    * Modules to install.
    *
    * @var array
    */
-  public static $modules = [
+  protected static $modules = [
     'media',
     'inline_entity_form',
     'entity_browser',
@@ -32,17 +38,17 @@ class MediaEntityBrowserTest extends WebDriverTestBase {
   /**
    * {@inheritdoc}
    */
-  public function setUp() {
+  public function setUp(): void {
     parent::setUp();
     $this->drupalLogin($this->drupalCreateUser(array_keys($this->container->get('user.permissions')->getPermissions())));
     $this->createMediaType('video_embed_field', [
       'label' => 'Video',
-      'bundle' => 'video',
+      'id' => 'video',
     ]);
 
     Media::create([
       'bundle' => 'video',
-      'field_media_video_embed_field' => [['value' => 'https://www.youtube.com/watch?v=XgYu7-DQjDQ']],
+      'field_media_video_embed_field' => [['value' => 'https://www.youtube.com/watch?v=JQFKVbfqz7w']],
     ])->save();
   }
 
@@ -55,7 +61,8 @@ public function testMediaBrowser() {
     $this->assertSession()->assertWaitOnAjaxRequest();
 
     $this->assertSession()->elementExists('css', '.view-media-entity-browser-view');
-    $this->assertSession()->elementExists('css', '.image-style-media-entity-browser-thumbnail');
+    $thumbnail = $this->assertSession()->elementExists('css', '.views-row img');
+    $this->assertStringContainsString('media_entity_browser_thumbnail', $thumbnail->getAttribute('src'));
 
     $this->assertSession()->elementNotExists('css', '.views-row.checked');
     $this->getSession()->getPage()->find('css', '.views-row')->press();
-- 
GitLab