From f3b24d25a0a61325123b5e4f9a4f8e33e2868231 Mon Sep 17 00:00:00 2001 From: Alex Pott <alex.a.pott@googlemail.com> Date: Mon, 24 Jan 2022 11:18:14 +0000 Subject: [PATCH] Issue #3241633 by danflanagan8, benjarlett: View mode doesn't display in dropdown if numerical --- .../filter/src/FilterPluginCollection.php | 2 +- .../CKEditorIntegrationTest.php | 30 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/core/modules/filter/src/FilterPluginCollection.php b/core/modules/filter/src/FilterPluginCollection.php index 31386ed78634..cb9ab931b193 100644 --- a/core/modules/filter/src/FilterPluginCollection.php +++ b/core/modules/filter/src/FilterPluginCollection.php @@ -70,7 +70,7 @@ protected function initializePlugin($instance_id) { $configuration = $this->manager->getDefinition($instance_id); // Merge the actual configuration into the default configuration. if (isset($this->configurations[$instance_id])) { - $configuration = NestedArray::mergeDeep($configuration, $this->configurations[$instance_id]); + $configuration = NestedArray::mergeDeepArray([$configuration, $this->configurations[$instance_id]], TRUE); } $this->configurations[$instance_id] = $configuration; parent::initializePlugin($instance_id); diff --git a/core/modules/media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php b/core/modules/media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php index d4e23b3e7385..7557f1c1a6bd 100644 --- a/core/modules/media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php +++ b/core/modules/media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php @@ -1168,11 +1168,11 @@ public function testViewMode() { 'label' => 'View Mode 1', ])->save(); EntityViewMode::create([ - 'id' => 'media.view_mode_2', + 'id' => 'media.22222', 'targetEntityType' => 'media', 'status' => TRUE, 'enabled' => TRUE, - 'label' => 'View Mode 2', + 'label' => 'View Mode 2 has Numeric ID', ])->save(); EntityViewMode::create([ 'id' => 'media.view_mode_3', @@ -1191,11 +1191,11 @@ public function testViewMode() { 'mode' => 'view_mode_1', ])->save(); EntityViewDisplay::create([ - 'id' => 'media.image.view_mode_2', + 'id' => 'media.image.22222', 'targetEntityType' => 'media', 'status' => TRUE, 'bundle' => 'image', - 'mode' => 'view_mode_2', + 'mode' => '22222', ])->save(); $filter_format = FilterFormat::load('test_format'); @@ -1206,7 +1206,7 @@ public function testViewMode() { 'allowed_media_types' => [], 'allowed_view_modes' => [ 'view_mode_1' => 'view_mode_1', - 'view_mode_2' => 'view_mode_2', + '22222' => '22222', 'view_mode_3' => 'view_mode_3', ], ], @@ -1216,12 +1216,12 @@ public function testViewMode() { // filter's ::getDependencies() method. $expected_config_dependencies = [ 'core.entity_view_mode.media.view_mode_1', - 'core.entity_view_mode.media.view_mode_2', + 'core.entity_view_mode.media.22222', 'core.entity_view_mode.media.view_mode_3', ]; $dependencies = $filter_format->getDependencies(); $this->assertArrayHasKey('config', $dependencies); - $this->assertSame($expected_config_dependencies, $dependencies['config']); + $this->assertEqualsCanonicalizing($expected_config_dependencies, $dependencies['config']); // Test MediaEmbed's allowed_view_modes option setting enables a view mode // selection field. @@ -1236,17 +1236,17 @@ public function testViewMode() { $page->pressButton('Edit media'); $this->waitForMetadataDialog(); $assert_session->optionExists('attributes[data-view-mode]', 'view_mode_1'); - $assert_session->optionExists('attributes[data-view-mode]', 'view_mode_2'); + $assert_session->optionExists('attributes[data-view-mode]', '22222'); $assert_session->optionNotExists('attributes[data-view-mode]', 'view_mode_3'); - $assert_session->selectExists('attributes[data-view-mode]')->selectOption('view_mode_2'); + $assert_session->selectExists('attributes[data-view-mode]')->selectOption('22222'); $this->submitDialog(); $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'article.media--view-mode-view-mode-2')); + $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'article.media--view-mode-_2222')); // Test that the downcast drupal-media element contains the // `data-view-mode` attribute set in the dialog. $this->pressEditorButton('source'); $this->assertNotEmpty($drupal_media = $this->getDrupalMediaFromSource()); - $this->assertSame('view_mode_2', $drupal_media->getAttribute('data-view-mode')); + $this->assertSame('22222', $drupal_media->getAttribute('data-view-mode')); // Press the source button again to leave source mode. $this->pressEditorButton('source'); @@ -1289,7 +1289,7 @@ public function testViewMode() { 'allowed_media_types' => [], 'allowed_view_modes' => [ 'view_mode_1' => 'view_mode_1', - 'view_mode_2' => 'view_mode_2', + '22222' => '22222', ], ], ])->save(); @@ -1297,11 +1297,11 @@ public function testViewMode() { // Test that the dependencies change when the allowed_view_modes change. $expected_config_dependencies = [ 'core.entity_view_mode.media.view_mode_1', - 'core.entity_view_mode.media.view_mode_2', + 'core.entity_view_mode.media.22222', ]; $dependencies = $filter_format->getDependencies(); $this->assertArrayHasKey('config', $dependencies); - $this->assertSame($expected_config_dependencies, $dependencies['config']); + $this->assertEqualsCanonicalizing($expected_config_dependencies, $dependencies['config']); // Test that setting the view mode back to the default removes the // `data-view-mode` attribute. @@ -1309,7 +1309,7 @@ public function testViewMode() { $page->pressButton('Edit media'); $this->waitForMetadataDialog(); $assert_session->optionExists('attributes[data-view-mode]', 'view_mode_1'); - $assert_session->optionExists('attributes[data-view-mode]', 'view_mode_2'); + $assert_session->optionExists('attributes[data-view-mode]', '22222'); $assert_session->selectExists('attributes[data-view-mode]')->selectOption('view_mode_1'); $this->submitDialog(); $this->getSession()->switchToIFrame('ckeditor'); -- GitLab