FilterPluginBaseTest.php

Same filename and directory in other branches
  1. 10 core/modules/views/tests/src/Unit/Plugin/filter/FilterPluginBaseTest.php
  2. 11.x 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

namespace Drupal\Tests\views\Unit\Plugin\filter;

use Drupal\Tests\UnitTestCase;
use Drupal\views\Plugin\views\filter\FilterPluginBase;

/**
 * @coversDefaultClass \Drupal\views\Plugin\views\filter\FilterPluginBase
 * @group views
 */
class FilterPluginBaseTest extends UnitTestCase {
    
    /**
     * @covers ::acceptExposedInput
     *
     * @dataProvider acceptExposedInputProvider
     */
    public function testAcceptExposedInput(bool $expected_result, array $options, array $input) {
        $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 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' => [],
                ],
            ],
        ];
    }

}
class FilterPluginBaseStub extends FilterPluginBase {

}

Classes

Title Deprecated Summary
FilterPluginBaseStub
FilterPluginBaseTest @coversDefaultClass \Drupal\views\Plugin\views\filter\FilterPluginBase @group views

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