Mercurial > hg > isophonics-drupal-site
comparison core/modules/views/tests/src/Functional/ViewsThemeIntegrationTest.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\views\Functional; | |
4 | |
5 /** | |
6 * Tests the Views theme integration. | |
7 * | |
8 * We test against test_basetheme and test_subtheme provided by theme_test | |
9 * | |
10 * @group views | |
11 */ | |
12 class ViewsThemeIntegrationTest extends ViewTestBase { | |
13 | |
14 /** | |
15 * Views used by this test. | |
16 * | |
17 * @var array | |
18 */ | |
19 public static $testViews = ['test_page_display']; | |
20 | |
21 | |
22 /** | |
23 * Used by WebTestBase::setup() | |
24 * | |
25 * We need theme_test for testing against test_basetheme and test_subtheme. | |
26 * | |
27 * @var array | |
28 * | |
29 * @see \Drupal\simpletest\WebTestBase::setup() | |
30 */ | |
31 public static $modules = ['views', 'theme_test']; | |
32 | |
33 /** | |
34 * {@inheritdoc} | |
35 */ | |
36 protected function setUp($import_test_views = TRUE) { | |
37 parent::setUp($import_test_views); | |
38 | |
39 $this->enableViewsTestModule(); | |
40 } | |
41 | |
42 /** | |
43 * Tests for exceptions and successful execution of hook_views_pre_render() | |
44 * and hook_views_post_render() in theme and subtheme. | |
45 */ | |
46 public function testThemedViewPage() { | |
47 | |
48 \Drupal::service('theme_handler')->install(['test_basetheme', 'test_subtheme']); | |
49 | |
50 // Make base theme default then test for hook invocations. | |
51 $this->config('system.theme') | |
52 ->set('default', 'test_basetheme') | |
53 ->save(); | |
54 $this->assertEqual($this->config('system.theme')->get('default'), 'test_basetheme'); | |
55 | |
56 // Make sure a views rendered page is touched. | |
57 $this->drupalGet('test_page_display_200'); | |
58 | |
59 $this->assertRaw("test_basetheme_views_pre_render", "Views title changed by test_basetheme.test_basetheme_views_pre_render"); | |
60 $this->assertRaw("test_basetheme_views_post_render", "Views title changed by test_basetheme.test_basetheme_views_post_render"); | |
61 | |
62 // Make sub theme default to test for hook invocation | |
63 // from both sub and base theme. | |
64 $this->config('system.theme') | |
65 ->set('default', 'test_subtheme') | |
66 ->save(); | |
67 $this->assertEqual($this->config('system.theme')->get('default'), 'test_subtheme'); | |
68 | |
69 // Make sure a views rendered page is touched. | |
70 $this->drupalGet('test_page_display_200'); | |
71 | |
72 $this->assertRaw("test_subtheme_views_pre_render", "Views title changed by test_subtheme.test_subtheme_views_pre_render"); | |
73 $this->assertRaw("test_subtheme_views_post_render", "Views title changed by test_subtheme.test_subtheme_views_post_render"); | |
74 | |
75 $this->assertRaw("test_basetheme_views_pre_render", "Views title changed by test_basetheme.test_basetheme_views_pre_render"); | |
76 $this->assertRaw("test_basetheme_views_post_render", "Views title changed by test_basetheme.test_basetheme_views_post_render"); | |
77 | |
78 $this->assertRaw('<em class="placeholder">' . count($this->dataSet()) . '</em> items found.', 'Views group title added by test_subtheme.test_subtheme_views_post_render'); | |
79 } | |
80 | |
81 } |