comparison core/modules/node/tests/src/Functional/NodeTemplateSuggestionsTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
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 }