function QueryParameterTest::providerGetArgument

Same name in other branches
  1. 8.9.x core/modules/views/tests/src/Unit/Plugin/argument_default/QueryParameterTest.php \Drupal\Tests\views\Unit\Plugin\argument_default\QueryParameterTest::providerGetArgument()
  2. 10 core/modules/views/tests/src/Unit/Plugin/argument_default/QueryParameterTest.php \Drupal\Tests\views\Unit\Plugin\argument_default\QueryParameterTest::providerGetArgument()
  3. 11.x core/modules/views/tests/src/Unit/Plugin/argument_default/QueryParameterTest.php \Drupal\Tests\views\Unit\Plugin\argument_default\QueryParameterTest::providerGetArgument()

Provides data for testGetArgument().

Return value

array An array of test data, with the following entries:

  • first entry: the options for the plugin.
  • second entry: the request object to test with.
  • third entry: the expected default argument value.

File

core/modules/views/tests/src/Unit/Plugin/argument_default/QueryParameterTest.php, line 45

Class

QueryParameterTest
@coversDefaultClass \Drupal\views\Plugin\views\argument_default\QueryParameter @group views

Namespace

Drupal\Tests\views\Unit\Plugin\argument_default

Code

public function providerGetArgument() {
    $data = [];
    $data[] = [
        [
            'query_param' => 'test',
        ],
        new Request([
            'test' => 'data',
        ]),
        'data',
    ];
    $data[] = [
        [
            'query_param' => 'test',
            'multiple' => 'and',
        ],
        new Request([
            'test' => [
                'data1',
                'data2',
            ],
        ]),
        'data1,data2',
    ];
    $data[] = [
        [
            'query_param' => 'test',
            'multiple' => 'or',
        ],
        new Request([
            'test' => [
                'data1',
                'data2',
            ],
        ]),
        'data1+data2',
    ];
    $data[] = [
        [
            'query_param' => 'test',
            'fallback' => 'blub',
        ],
        new Request([]),
        'blub',
    ];
    $data[] = [
        [
            'query_param' => 'test[tier1][tier2][tier3]',
        ],
        new Request([
            'test' => [
                'tier1' => [
                    'tier2' => [
                        'tier3' => 'foo',
                    ],
                ],
            ],
        ]),
        'foo',
    ];
    $data[] = [
        [
            'query_param' => 'test[tier1][tier2]',
        ],
        new Request([
            'test' => [
                'tier1' => [
                    'tier2' => [
                        'foo',
                        'bar',
                    ],
                ],
            ],
        ]),
        'foo,bar',
    ];
    $data[] = [
        [
            'query_param' => 'test[tier1][tier2]',
        ],
        new Request([
            'test' => 'foo',
        ]),
        NULL,
    ];
    return $data;
}

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