Further Drupal 8.6.4 changes. Some core files were not committed before a commit...
[yaffs-website] / web / core / modules / views / tests / src / Kernel / ViewsPreprocessTest.php
1 <?php
2
3 namespace Drupal\Tests\views\Kernel;
4
5 use Drupal\entity_test\Entity\EntityTest;
6 use Drupal\views\Views;
7
8 /**
9  * Tests the preprocessing functionality in views.theme.inc.
10  *
11  * @group views
12  */
13 class ViewsPreprocessTest extends ViewsKernelTestBase {
14
15   /**
16    * {@inheritdoc}
17    */
18   public static $testViews = ['test_preprocess'];
19
20   /**
21    * {@inheritdoc}
22    */
23   public static $modules = ['entity_test', 'user', 'node'];
24
25   /**
26    * {@inheritdoc}
27    */
28   protected function setUp($import_test_views = TRUE) {
29     parent::setUp();
30
31     $this->installEntitySchema('entity_test');
32   }
33
34   /**
35    * Tests css classes on displays are cleaned correctly.
36    */
37   public function testCssClassCleaning() {
38     \Drupal::service('theme_handler')->install(['test_theme']);
39     $this->config('system.theme')->set('default', 'test_theme')->save();
40
41     $entity = EntityTest::create();
42     $entity->save();
43     /** @var \Drupal\Core\Render\RendererInterface $renderer */
44     $renderer = \Drupal::service('renderer');
45
46     $view = Views::getview('test_preprocess');
47     $build = $view->buildRenderable();
48     $renderer->renderRoot($build);
49     $this->assertContains('class="entity-test--default entity-test__default', (string) $build['#markup']);
50     $view->destroy();
51
52     $view->setDisplay('display_2');
53     $build = $view->buildRenderable();
54     $renderer->renderRoot($build);
55     $markup = (string) $build['#markup'];
56     $this->assertContains('css_class: entity-test--default and-another-class entity-test__default', $markup);
57     $this->assertContains('attributes: class="entity-test--default and-another-class entity-test__default', $markup);
58   }
59
60 }