function TableTest::testThemeTableWithEmptyMessage

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Render/Element/TableTest.php \Drupal\KernelTests\Core\Render\Element\TableTest::testThemeTableWithEmptyMessage()
  2. 8.9.x core/tests/Drupal/KernelTests/Core/Render/Element/TableTest.php \Drupal\KernelTests\Core\Render\Element\TableTest::testThemeTableWithEmptyMessage()
  3. 10 core/tests/Drupal/KernelTests/Core/Render/Element/TableTest.php \Drupal\KernelTests\Core\Render\Element\TableTest::testThemeTableWithEmptyMessage()

Tests the display of the table header.

Tests are performed when the there are no rows and that the empty text is displayed correctly.

File

core/tests/Drupal/KernelTests/Core/Render/Element/TableTest.php, line 67

Class

TableTest
Tests built-in table theme functions.

Namespace

Drupal\KernelTests\Core\Render\Element

Code

public function testThemeTableWithEmptyMessage() : void {
    $header = [
        'Header 1',
        [
            'data' => 'Header 2',
            'colspan' => 2,
        ],
    ];
    $table = [
        '#type' => 'table',
        '#header' => $header,
        '#rows' => [],
        '#empty' => 'Empty row.',
    ];
    // Enable the Starterkit theme.
    \Drupal::service('theme_installer')->install([
        'starterkit_theme',
    ]);
    $this->config('system.theme')
        ->set('default', 'starterkit_theme')
        ->save();
    $this->render($table);
    $this->removeWhiteSpace();
    $this->assertRaw('<thead><tr><th>Header 1</th><th colspan="2">Header 2</th></tr>', 'Table header found.');
    $this->assertRaw('<tr class="odd"><td colspan="3" class="empty message">Empty row.</td>', 'Colspan on #empty row found.');
}

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