You are here

public function DisplayExtenderTest::testDisplayExtenders in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/views/tests/src/Kernel/Plugin/DisplayExtenderTest.php \Drupal\Tests\views\Kernel\Plugin\DisplayExtenderTest::testDisplayExtenders()

Tests display extenders.

File

core/modules/views/tests/src/Kernel/Plugin/DisplayExtenderTest.php, line 28

Class

DisplayExtenderTest
Tests the display extender plugins.

Namespace

Drupal\Tests\views\Kernel\Plugin

Code

public function testDisplayExtenders() {
  $this
    ->config('views.settings')
    ->set('display_extenders', [
    'display_extender_test',
  ])
    ->save();
  $this
    ->assertCount(1, Views::getEnabledDisplayExtenders(), 'Make sure that there is only one enabled display extender.');
  $view = Views::getView('test_view');
  $view
    ->initDisplay();
  $this
    ->assertCount(1, $view->display_handler
    ->getExtenders(), 'Make sure that only one extender is initialized.');
  $display_extender = $view->display_handler
    ->getExtenders()['display_extender_test'];
  $this
    ->assertInstanceOf(DisplayExtenderTestData::class, $display_extender);
  $view
    ->preExecute();
  $this
    ->assertTrue($display_extender->testState['preExecute'], 'Make sure the display extender was able to react on preExecute.');
  $view
    ->execute();
  $this
    ->assertTrue($display_extender->testState['query'], 'Make sure the display extender was able to react on query.');
}