You are here

public function DevelClientSideFilterTableTest::providerPreRenderTable in Devel 8.2

Same name and namespace in other branches
  1. 8.3 tests/src/Unit/DevelClientSideFilterTableTest.php \Drupal\Tests\devel\Unit\DevelClientSideFilterTableTest::providerPreRenderTable()
  2. 4.x tests/src/Unit/DevelClientSideFilterTableTest.php \Drupal\Tests\devel\Unit\DevelClientSideFilterTableTest::providerPreRenderTable()

Data provider for preRenderHtmlTag test.

File

tests/src/Unit/DevelClientSideFilterTableTest.php, line 54

Class

DevelClientSideFilterTableTest
Tests ClientSideFilterTable element.

Namespace

Drupal\Tests\devel\Unit

Code

public function providerPreRenderTable() {
  $data = [];
  $t = $this
    ->getStringTranslationStub();
  $actual = [
    '#type' => 'devel_table_filter',
    '#filter_label' => $t
      ->translate('Label 1'),
    '#filter_placeholder' => $t
      ->translate('Placeholder 1'),
    '#filter_description' => $t
      ->translate('Description 1'),
    '#header' => [],
    '#rows' => [],
    '#empty' => $t
      ->translate('Empty 1'),
    '#responsive' => TRUE,
    '#sticky' => TRUE,
    '#attributes' => [
      'class' => [
        'devel-a-list',
      ],
    ],
  ];
  $expected = [];
  $expected['#attached']['library'][] = 'devel/devel-table-filter';
  $expected['filters'] = [
    '#type' => 'container',
    '#weight' => -1,
    '#attributes' => [
      'class' => [
        'table-filter',
        'js-show',
      ],
    ],
    'name' => [
      '#type' => 'search',
      '#size' => 30,
      '#title' => $t
        ->translate('Label 1'),
      '#placeholder' => $t
        ->translate('Placeholder 1'),
      '#attributes' => [
        'class' => [
          'table-filter-text',
        ],
        'data-table' => ".js-devel-table-filter",
        'autocomplete' => 'off',
        'title' => $t
          ->translate('Description 1'),
      ],
    ],
  ];
  $expected['table'] = [
    '#type' => 'table',
    '#header' => [],
    '#rows' => [],
    '#empty' => $t
      ->translate('Empty 1'),
    '#responsive' => TRUE,
    '#sticky' => TRUE,
    '#attributes' => [
      'class' => [
        'devel-a-list',
        'js-devel-table-filter',
        'devel-table-filter',
      ],
    ],
  ];
  $data[] = [
    $actual,
    $expected,
  ];
  $headers = [
    'Test1',
    'Test2',
    'Test3',
    'Test4',
    'Test5',
  ];
  $actual = [
    '#type' => 'devel_table_filter',
    '#filter_label' => $t
      ->translate('Label 2'),
    '#filter_placeholder' => $t
      ->translate('Placeholder 2'),
    '#filter_description' => $t
      ->translate('Description 2'),
    '#header' => $headers,
    '#rows' => [
      [
        [
          'data' => 'test1',
          'filter' => TRUE,
        ],
        [
          'data' => 'test2',
          'filter' => TRUE,
          'class' => [
            'test2',
          ],
        ],
        [
          'data' => 'test3',
          'class' => [
            'test3',
          ],
        ],
        [
          'test4',
        ],
        [
          'data' => 'test5',
          'filter' => TRUE,
          'class' => [
            'devel-event-name-header',
          ],
          'colspan' => '3',
          'header' => TRUE,
        ],
      ],
    ],
    '#empty' => $t
      ->translate('Empty 2'),
    '#responsive' => FALSE,
    '#sticky' => FALSE,
    '#attributes' => [
      'class' => [
        'devel-some-list',
      ],
    ],
  ];
  $expected = [];
  $expected['#attached']['library'][] = 'devel/devel-table-filter';
  $expected['filters'] = [
    '#type' => 'container',
    '#weight' => -1,
    '#attributes' => [
      'class' => [
        'table-filter',
        'js-show',
      ],
    ],
    'name' => [
      '#type' => 'search',
      '#size' => 30,
      '#title' => $t
        ->translate('Label 2'),
      '#placeholder' => $t
        ->translate('Placeholder 2'),
      '#attributes' => [
        'class' => [
          'table-filter-text',
        ],
        'data-table' => ".js-devel-table-filter--2",
        'autocomplete' => 'off',
        'title' => $t
          ->translate('Description 2'),
      ],
    ],
  ];
  $expected['table'] = [
    '#type' => 'table',
    '#header' => $headers,
    '#rows' => [
      [
        [
          'data' => 'test1',
          'filter' => TRUE,
          'class' => [
            'table-filter-text-source',
          ],
        ],
        [
          'data' => 'test2',
          'filter' => TRUE,
          'class' => [
            'test2',
            'table-filter-text-source',
          ],
        ],
        [
          'data' => 'test3',
          'class' => [
            'test3',
          ],
        ],
        [
          'test4',
        ],
        [
          'data' => 'test5',
          'filter' => TRUE,
          'class' => [
            'devel-event-name-header',
            'table-filter-text-source',
          ],
          'colspan' => '3',
          'header' => TRUE,
        ],
      ],
    ],
    '#empty' => $t
      ->translate('Empty 2'),
    '#responsive' => FALSE,
    '#sticky' => FALSE,
    '#attributes' => [
      'class' => [
        'devel-some-list',
        'js-devel-table-filter--2',
        'devel-table-filter',
      ],
    ],
  ];
  $data[] = [
    $actual,
    $expected,
  ];
  return $data;
}