Unverified Commit adb54155 authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3241633 by danflanagan8, benjarlett: View mode doesn't display in dropdown if numerical

(cherry picked from commit f3b24d25)
parent 9b0a3b4a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+15 −15
Original line number Diff line number Diff line
@@ -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');