Mercurial > hg > isophonics-drupal-site
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 } |