annotate core/modules/media/tests/src/Functional/MediaTemplateSuggestionsTest.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author |
Chris Cannam |
date |
Thu, 28 Feb 2019 13:21:36 +0000 |
parents |
4c8ae668cc8c |
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 }
|