You are here

public function DisplayBlockTest::testBlockRendering in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/block/tests/src/Functional/Views/DisplayBlockTest.php \Drupal\Tests\block\Functional\Views\DisplayBlockTest::testBlockRendering()
  2. 10 core/modules/block/tests/src/Functional/Views/DisplayBlockTest.php \Drupal\Tests\block\Functional\Views\DisplayBlockTest::testBlockRendering()

Tests the actual rendering of the views block.

File

core/modules/block/tests/src/Functional/Views/DisplayBlockTest.php, line 262

Class

DisplayBlockTest
Tests the block display plugin.

Namespace

Drupal\Tests\block\Functional\Views

Code

public function testBlockRendering() {

  // Create a block and set a custom title.
  $block = $this
    ->drupalPlaceBlock('views_block:test_view_block-block_1', [
    'label' => 'test_view_block-block_1:1',
    'views_label' => 'Custom title',
  ]);
  $this
    ->drupalGet('');
  $result = $this
    ->xpath('//div[contains(@class, "region-sidebar-first")]/div[contains(@class, "block-views")]/h2');
  $this
    ->assertEqual($result[0]
    ->getText(), 'Custom title');

  // Don't override the title anymore.
  $plugin = $block
    ->getPlugin();
  $plugin
    ->setConfigurationValue('views_label', '');
  $block
    ->save();
  $this
    ->drupalGet('');
  $result = $this
    ->xpath('//div[contains(@class, "region-sidebar-first")]/div[contains(@class, "block-views")]/h2');
  $this
    ->assertEqual($result[0]
    ->getText(), 'test_view_block');

  // Hide the title.
  $block
    ->getPlugin()
    ->setConfigurationValue('label_display', FALSE);
  $block
    ->save();
  $this
    ->drupalGet('');
  $result = $this
    ->xpath('//div[contains(@class, "region-sidebar-first")]/div[contains(@class, "block-views")]/h2');
  $this
    ->assertTrue(empty($result), 'The title is not visible.');
  $this
    ->assertCacheTags(array_merge($block
    ->getCacheTags(), [
    'block_view',
    'config:block_list',
    'config:system.site',
    'config:views.view.test_view_block',
    'http_response',
    'rendered',
  ]));
}