annotate core/modules/media/tests/src/Functional/MediaTemplateSuggestionsTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\media\Functional;
Chris@0 4
Chris@0 5 use Drupal\media\Entity\Media;
Chris@0 6
Chris@0 7 /**
Chris@0 8 * Tests media template suggestions.
Chris@0 9 *
Chris@0 10 * @group media
Chris@0 11 */
Chris@0 12 class MediaTemplateSuggestionsTest extends MediaFunctionalTestBase {
Chris@0 13
Chris@0 14 /**
Chris@0 15 * Modules to install.
Chris@0 16 *
Chris@0 17 * @var array
Chris@0 18 */
Chris@0 19 public static $modules = ['media'];
Chris@0 20
Chris@0 21 /**
Chris@0 22 * Tests template suggestions from media_theme_suggestions_media().
Chris@0 23 */
Chris@0 24 public function testMediaThemeHookSuggestions() {
Chris@17 25 $media_type = $this->createMediaType('test', [
Chris@0 26 'queue_thumbnail_downloads' => FALSE,
Chris@0 27 ]);
Chris@0 28
Chris@0 29 // Create media item to be rendered.
Chris@0 30 $media = Media::create([
Chris@0 31 'bundle' => $media_type->id(),
Chris@0 32 'name' => 'Unnamed',
Chris@0 33 ]);
Chris@0 34 $media->save();
Chris@0 35 $view_mode = 'full';
Chris@0 36
Chris@0 37 // Simulate theming of the media item.
Chris@0 38 $build = \Drupal::entityTypeManager()->getViewBuilder('media')->view($media, $view_mode);
Chris@0 39
Chris@0 40 $variables['elements'] = $build;
Chris@0 41 $suggestions = \Drupal::moduleHandler()->invokeAll('theme_suggestions_media', [$variables]);
Chris@17 42 $this->assertSame($suggestions, ['media__full', 'media__' . $media_type->id(), 'media__' . $media_type->id() . '__full', 'media__source_' . $media_type->getSource()->getPluginId()], 'Found expected media suggestions.');
Chris@0 43 }
Chris@0 44
Chris@0 45 }