class DevelClientSideFilterTableTest
Tests ClientSideFilterTable element.
Attributes
#[CoversClass(ClientSideFilterTable::class)]
#[CoversMethod(ClientSideFilterTable::class, 'getInfo')]
#[CoversMethod(ClientSideFilterTable::class, 'preRenderTable')]
#[Group('devel')]
  Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, \Drupal\Tests\RandomGeneratorTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\Tests\devel\Unit\DevelClientSideFilterTableTest extends \Drupal\Tests\UnitTestCase
 
 
Expanded class hierarchy of DevelClientSideFilterTableTest
File
- 
              tests/
src/ Unit/ DevelClientSideFilterTableTest.php, line 16  
Namespace
Drupal\Tests\devel\UnitView source
class DevelClientSideFilterTableTest extends UnitTestCase {
  public function testGetInfo() : void {
    $translation = $this->getStringTranslationStub();
    $expected_info = [
      '#filter_label' => $translation->translate('Search'),
      '#filter_placeholder' => $translation->translate('Search'),
      '#filter_description' => $translation->translate('Search'),
      '#header' => [],
      '#rows' => [],
      '#empty' => '',
      '#sticky' => FALSE,
      '#responsive' => TRUE,
      '#attributes' => [],
      '#pre_render' => [
        [
          ClientSideFilterTable::class,
          'preRenderTable',
        ],
      ],
    ];
    $table = new ClientSideFilterTable([], 'test', 'test');
    $table->setStringTranslation($translation);
    $this->assertEquals($expected_info, $table->getInfo());
  }
  public function testPreRenderTable($element, $expected) : void {
    $result = ClientSideFilterTable::preRenderTable($element);
    $this->assertEquals($expected, $result);
  }
  
  /**
   * Data provider for preRenderHtmlTag test.
   */
  public static function providerPreRenderTable() : array {
    $data = [];
    $filter_label = new TranslatableMarkup('Label 1');
    $filter_label_2 = new TranslatableMarkup('Label 2');
    $filter_placeholder = new TranslatableMarkup('Placeholder 1');
    $filter_placeholder_2 = new TranslatableMarkup('Placeholder 2');
    $filter_description = new TranslatableMarkup('Description 1');
    $filter_description_2 = new TranslatableMarkup('Description 2');
    $empty = new TranslatableMarkup('Empty');
    $empty_2 = new TranslatableMarkup('Empty 2');
    $actual = [
      '#type' => 'devel_table_filter',
      '#filter_label' => $filter_label,
      '#filter_placeholder' => $filter_placeholder,
      '#filter_description' => $filter_description,
      '#header' => [],
      '#rows' => [],
      '#empty' => $empty,
      '#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' => $filter_label,
        '#placeholder' => $filter_placeholder,
        '#attributes' => [
          'class' => [
            'table-filter-text',
          ],
          'data-table' => ".js-devel-table-filter",
          'autocomplete' => 'off',
          'title' => $filter_description,
        ],
      ],
    ];
    $expected['table'] = [
      '#type' => 'table',
      '#header' => [],
      '#rows' => [],
      '#empty' => $empty,
      '#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' => $filter_label_2,
      '#filter_placeholder' => $filter_placeholder_2,
      '#filter_description' => $filter_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' => $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' => $filter_label_2,
        '#placeholder' => $filter_placeholder_2,
        '#attributes' => [
          'class' => [
            'table-filter-text',
          ],
          'data-table' => ".js-devel-table-filter--2",
          'autocomplete' => 'off',
          'title' => $filter_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' => $empty_2,
      '#responsive' => FALSE,
      '#sticky' => FALSE,
      '#attributes' => [
        'class' => [
          'devel-some-list',
          'js-devel-table-filter--2',
          'devel-table-filter',
        ],
      ],
    ];
    $data[] = [
      $actual,
      $expected,
    ];
    return $data;
  }
}
Members
| Title Sort descending | Deprecated | Modifiers | Object type | Summary | Overrides | 
|---|---|---|---|---|---|
| DevelClientSideFilterTableTest::providerPreRenderTable | public static | function | Data provider for preRenderHtmlTag test. | ||
| DevelClientSideFilterTableTest::testGetInfo | public | function | |||
| DevelClientSideFilterTableTest::testPreRenderTable | public | function | #[DataProvider('providerPreRenderTable')] | ||
| PhpUnitWarnings::$deprecationWarnings | private static | property | Deprecation warnings from PHPUnit to raise with @trigger_error(). | ||
| PhpUnitWarnings::addWarning | public | function | Converts PHPUnit deprecation warnings to E_USER_DEPRECATED. | ||
| RandomGeneratorTrait::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | ||
| RandomGeneratorTrait::randomMachineName | protected | function | Generates a unique random string containing letters and numbers. | ||
| RandomGeneratorTrait::randomObject | public | function | Generates a random PHP object. | ||
| RandomGeneratorTrait::randomString | public | function | Generates a pseudo-random string of ASCII characters of codes 32 to 126. | ||
| RandomGeneratorTrait::randomStringValidate | Deprecated | public | function | Callback for random string validation. | |
| UnitTestCase::$root | protected | property | The app root. | 1 | |
| UnitTestCase::getClassResolverStub | protected | function | Returns a stub class resolver. | ||
| UnitTestCase::getConfigFactoryStub | public | function | Returns a stub config factory that behaves according to the passed array. | ||
| UnitTestCase::getConfigStorageStub | public | function | Returns a stub config storage that returns the supplied configuration. | ||
| UnitTestCase::getContainerWithCacheTagsInvalidator | protected | function | Sets up a container with a cache tags invalidator. | ||
| UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | ||
| UnitTestCase::setUp | protected | function | 357 | ||
| UnitTestCase::setUpBeforeClass | public static | function | |||
| UnitTestCase::__get | public | function |