function QueryParameterTest::providerGetArgument

Same name and namespace in other branches
  1. 9 core/modules/views/tests/src/Unit/Plugin/argument_default/QueryParameterTest.php \Drupal\Tests\views\Unit\Plugin\argument_default\QueryParameterTest::providerGetArgument()
  2. 8.9.x 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 47

Class

QueryParameterTest
@coversDefaultClass \Drupal\views\Plugin\views\argument_default\QueryParameter[[api-linebreak]] @group views

Namespace

Drupal\Tests\views\Unit\Plugin\argument_default

Code

public static 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' => 'foo',
    ],
    new Request([]),
    'foo',
  ];
  $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.