function MediaEmbedFilterTest::testOverridesAltAndTitle

Same name 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 @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.