Security update for Core, with self-updated composer
[yaffs-website] / web / core / modules / node / tests / src / Functional / NodeTemplateSuggestionsTest.php
1 <?php
2
3 namespace Drupal\Tests\node\Functional;
4
5 /**
6  * Tests node template suggestions.
7  *
8  * @group node
9  */
10 class NodeTemplateSuggestionsTest extends NodeTestBase {
11
12   /**
13    * Tests if template_preprocess_node() generates the correct suggestions.
14    */
15   public function testNodeThemeHookSuggestions() {
16     // Create node to be rendered.
17     $node = $this->drupalCreateNode();
18     $view_mode = 'full';
19
20     // Simulate theming of the node.
21     $build = \Drupal::entityManager()->getViewBuilder('node')->view($node, $view_mode);
22
23     $variables['elements'] = $build;
24     $suggestions = \Drupal::moduleHandler()->invokeAll('theme_suggestions_node', [$variables]);
25
26     $this->assertEqual($suggestions, ['node__full', 'node__page', 'node__page__full', 'node__' . $node->id(), 'node__' . $node->id() . '__full'], 'Found expected node suggestions.');
27
28     // Change the view mode.
29     $view_mode = 'node.my_custom_view_mode';
30     $build = \Drupal::entityManager()->getViewBuilder('node')->view($node, $view_mode);
31
32     $variables['elements'] = $build;
33     $suggestions = \Drupal::moduleHandler()->invokeAll('theme_suggestions_node', [$variables]);
34
35     $this->assertEqual($suggestions, ['node__node_my_custom_view_mode', 'node__page', 'node__page__node_my_custom_view_mode', 'node__' . $node->id(), 'node__' . $node->id() . '__node_my_custom_view_mode'], 'Found expected node suggestions.');
36   }
37
38 }