You are here

public function MediaEmbedFilterTest::testBasics in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/media/tests/src/Kernel/MediaEmbedFilterTest.php \Drupal\Tests\media\Kernel\MediaEmbedFilterTest::testBasics()

Ensures media entities are rendered correctly.

@dataProvider providerTestBasics

File

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

Class

MediaEmbedFilterTest
@coversDefaultClass \Drupal\media\Plugin\Filter\MediaEmbed @group media

Namespace

Drupal\Tests\media\Kernel

Code

public function testBasics(array $embed_attributes, $expected_view_mode, array $expected_attributes, CacheableMetadata $expected_cacheability) {
  $content = $this
    ->createEmbedCode($embed_attributes);
  $result = $this
    ->applyFilter($content);
  $this
    ->assertCount(1, $this
    ->cssSelect('div[data-media-embed-test-view-mode="' . $expected_view_mode . '"]'));
  $this
    ->assertHasAttributes($this
    ->cssSelect('div[data-media-embed-test-view-mode="' . $expected_view_mode . '"]')[0], $expected_attributes);
  $this
    ->assertSame($expected_cacheability
    ->getCacheTags(), $result
    ->getCacheTags());
  $this
    ->assertSame($expected_cacheability
    ->getCacheContexts(), $result
    ->getCacheContexts());
  $this
    ->assertSame($expected_cacheability
    ->getCacheMaxAge(), $result
    ->getCacheMaxAge());
  $this
    ->assertSame([
    'library',
  ], array_keys($result
    ->getAttachments()));
  $this
    ->assertSame([
    'media/filter.caption',
  ], $result
    ->getAttachments()['library']);
}