function AreaTextTest::testAreaText

Same name in other branches
  1. 8.9.x core/modules/views/tests/src/Kernel/Handler/AreaTextTest.php \Drupal\Tests\views\Kernel\Handler\AreaTextTest::testAreaText()
  2. 10 core/modules/views/tests/src/Kernel/Handler/AreaTextTest.php \Drupal\Tests\views\Kernel\Handler\AreaTextTest::testAreaText()
  3. 11.x core/modules/views/tests/src/Kernel/Handler/AreaTextTest.php \Drupal\Tests\views\Kernel\Handler\AreaTextTest::testAreaText()

File

core/modules/views/tests/src/Kernel/Handler/AreaTextTest.php, line 35

Class

AreaTextTest
Tests the core views_handler_area_text handler.

Namespace

Drupal\Tests\views\Kernel\Handler

Code

public function testAreaText() {
    
    /** @var \Drupal\Core\Render\RendererInterface $renderer */
    $renderer = $this->container
        ->get('renderer');
    $view = Views::getView('test_view');
    $view->setDisplay();
    // add a text header
    $string = $this->randomMachineName();
    $view->displayHandlers
        ->get('default')
        ->overrideOption('header', [
        'area' => [
            'id' => 'area',
            'table' => 'views',
            'field' => 'area',
            'content' => [
                'value' => $string,
            ],
        ],
    ]);
    // Execute the view.
    $this->executeView($view);
    $view->display_handler->handlers['header']['area']->options['content']['format'] = $this->randomString();
    $build = $view->display_handler->handlers['header']['area']
        ->render();
    $this->assertEquals('', $renderer->renderRoot($build), 'Nonexistent format should return empty markup.');
    $view->display_handler->handlers['header']['area']->options['content']['format'] = filter_default_format();
    $build = $view->display_handler->handlers['header']['area']
        ->render();
    $this->assertEquals(check_markup($string), $renderer->renderRoot($build), 'Existent format should return something');
    // Empty results, and it shouldn't be displayed .
    $this->assertEquals([], $view->display_handler->handlers['header']['area']
        ->render(TRUE), 'No result should lead to no header');
    // Empty results, and it should be displayed.
    $view->display_handler->handlers['header']['area']->options['empty'] = TRUE;
    $build = $view->display_handler->handlers['header']['area']
        ->render(TRUE);
    $this->assertEquals(check_markup($string), $renderer->renderRoot($build), 'No result, but empty enabled lead to a full header');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.