function MediaEmbedFilterTest::testOverridesAltAndTitle

Same name and namespace in other branches
  1. 9 core/modules/media/tests/src/Kernel/MediaEmbedFilterTest.php \Drupal\Tests\media\Kernel\MediaEmbedFilterTest::testOverridesAltAndTitle()
  2. 10 core/modules/media/tests/src/Kernel/MediaEmbedFilterTest.php \Drupal\Tests\media\Kernel\MediaEmbedFilterTest::testOverridesAltAndTitle()
  3. 11.x core/modules/media/tests/src/Kernel/MediaEmbedFilterTest.php \Drupal\Tests\media\Kernel\MediaEmbedFilterTest::testOverridesAltAndTitle()

@covers ::applyPerEmbedMediaOverrides
@dataProvider providerOverridesAltAndTitle

File

core/modules/media/tests/src/Kernel/MediaEmbedFilterTest.php, line 203

Class

MediaEmbedFilterTest
@coversDefaultClass \Drupal\media\Plugin\Filter\MediaEmbed[[api-linebreak]] @group media

Namespace

Drupal\Tests\media\Kernel

Code

public function testOverridesAltAndTitle($title_field_property_enabled, array $expected_title_attributes) {
  // The `alt` field property is enabled by default, the `title` one is not.
  if ($title_field_property_enabled) {
    $source_field = FieldConfig::load('media.image.field_media_image');
    $source_field->setSetting('title_field', TRUE);
    $source_field->save();
  }
  $base = [
    'data-entity-type' => 'media',
    'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
  ];
  $input = $this->createEmbedCode($base);
  $input .= $this->createEmbedCode([
    'alt' => 'alt 1',
    'title' => 'title 1',
  ] + $base);
  $input .= $this->createEmbedCode([
    'alt' => 'alt 2',
    'title' => 'title 2',
  ] + $base);
  $input .= $this->createEmbedCode([
    'alt' => 'alt 3',
    'title' => 'title 3',
  ] + $base);
  $input .= $this->createEmbedCode([
    'alt' => '""',
    'title' => 'title 4',
  ] + $base);
  $this->applyFilter($input);
  $img_nodes = $this->cssSelect('img');
  $this->assertCount(5, $img_nodes);
  $this->assertHasAttributes($img_nodes[0], [
    'alt' => 'default alt',
    'title' => $expected_title_attributes[0],
  ]);
  $this->assertHasAttributes($img_nodes[1], [
    'alt' => 'alt 1',
    'title' => $expected_title_attributes[1],
  ]);
  $this->assertHasAttributes($img_nodes[2], [
    'alt' => 'alt 2',
    'title' => $expected_title_attributes[2],
  ]);
  $this->assertHasAttributes($img_nodes[3], [
    'alt' => 'alt 3',
    'title' => $expected_title_attributes[3],
  ]);
  $this->assertHasAttributes($img_nodes[4], [
    'alt' => '',
    'title' => $expected_title_attributes[4],
  ]);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.