FilterPluginBaseTest.php

Same filename and directory in other branches
  1. 11.x core/modules/views/tests/src/Unit/Plugin/filter/FilterPluginBaseTest.php
  2. 10 core/modules/views/tests/src/Unit/Plugin/filter/FilterPluginBaseTest.php
  3. 9 core/modules/views/tests/src/Unit/Plugin/filter/FilterPluginBaseTest.php

Namespace

Drupal\Tests\views\Unit\Plugin\filter

File

core/modules/views/tests/src/Unit/Plugin/filter/FilterPluginBaseTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\views\Unit\Plugin\filter;

use Drupal\Tests\UnitTestCase;
use Drupal\views\Plugin\views\filter\FilterPluginBase;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\Group;

/**
 * Tests Drupal\views\Plugin\views\filter\FilterPluginBase.
 */
class FilterPluginBaseTest extends UnitTestCase {
  
  /**
   * Tests accept exposed input.
   */
  public function testAcceptExposedInput(bool $expected_result, array $options, array $input) : void {
    $definition = [
      'title' => 'Accept exposed input Test',
      'group' => 'Test',
    ];
    $filter = new FilterPluginBaseStub([], 'stub', $definition);
    $filter->options = $options;
    $this->assertSame($expected_result, $filter->acceptExposedInput($input));
  }
  
  /**
   * The data provider for testAcceptExposedInput.
   *
   * @return array
   *   The data set.
   */
  public static function acceptExposedInputProvider() {
    return [
      'not-exposed' => [
        TRUE,
        [
          'exposed' => FALSE,
        ],
        [],
      ],
      'exposed-no-input' => [
        TRUE,
        [
          'exposed' => TRUE,
        ],
        [],
      ],
      'exposed-zero-input' => [
        FALSE,
        [
          'exposed' => TRUE,
          'is_grouped' => FALSE,
          'expose' => [
            'use_operator' => TRUE,
            'operator_id' => '=',
            'identifier' => 'identifier',
          ],
        ],
        [
          'identifier' => 0,
        ],
      ],
      'exposed-empty-array-input' => [
        FALSE,
        [
          'exposed' => TRUE,
          'is_grouped' => FALSE,
          'expose' => [
            'use_operator' => TRUE,
            'operator_id' => '=',
            'identifier' => 'identifier',
          ],
        ],
        [
          'identifier' => [],
        ],
      ],
    ];
  }

}

/**
 * Empty class to support testing filter plugins.
 */
class FilterPluginBaseStub extends FilterPluginBase {

}

Classes

Title Deprecated Summary
FilterPluginBaseStub Empty class to support testing filter plugins.
FilterPluginBaseTest Tests Drupal\views\Plugin\views\filter\FilterPluginBase.

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