function HeadersCacheContextTest::providerTestGetContext

Same name in other branches
  1. 9 core/tests/Drupal/Tests/Core/Cache/Context/HeadersCacheContextTest.php \Drupal\Tests\Core\Cache\Context\HeadersCacheContextTest::providerTestGetContext()
  2. 8.9.x core/tests/Drupal/Tests/Core/Cache/Context/HeadersCacheContextTest.php \Drupal\Tests\Core\Cache\Context\HeadersCacheContextTest::providerTestGetContext()
  3. 10 core/tests/Drupal/Tests/Core/Cache/Context/HeadersCacheContextTest.php \Drupal\Tests\Core\Cache\Context\HeadersCacheContextTest::providerTestGetContext()

Provides a list of headers and expected cache contexts.

File

core/tests/Drupal/Tests/Core/Cache/Context/HeadersCacheContextTest.php, line 37

Class

HeadersCacheContextTest
@coversDefaultClass \Drupal\Core\Cache\Context\HeadersCacheContext @group Cache

Namespace

Drupal\Tests\Core\Cache\Context

Code

public static function providerTestGetContext() {
    return [
        [
            [],
            NULL,
            '',
        ],
        [
            [],
            'foo',
            '',
        ],
        // Non-empty headers.
[
            [
                'llama' => 'rocks',
                'alpaca' => '',
                'panda' => 'drools',
                'z' => '0',
            ],
            NULL,
            'alpaca=&llama=rocks&panda=drools&z=0',
        ],
        [
            [
                'llama' => 'rocks',
                'alpaca' => '',
                'panda' => 'drools',
                'z' => '0',
            ],
            'llama',
            'rocks',
        ],
        [
            [
                'llama' => 'rocks',
                'alpaca' => '',
                'panda' => 'drools',
                'z' => '0',
            ],
            'alpaca',
            '?valueless?',
        ],
        [
            [
                'llama' => 'rocks',
                'alpaca' => '',
                'panda' => 'drools',
                'z' => '0',
            ],
            'panda',
            'drools',
        ],
        [
            [
                'llama' => 'rocks',
                'alpaca' => '',
                'panda' => 'drools',
                'z' => '0',
            ],
            'z',
            '0',
        ],
        [
            [
                'llama' => 'rocks',
                'alpaca' => '',
                'panda' => 'drools',
                'z' => '0',
            ],
            'chicken',
            '',
        ],
        // Header value could be an array.
[
            [
                'z' => [
                    '0',
                    '1',
                ],
            ],
            NULL,
            'z=0,1',
        ],
        // Values are sorted to minimize cache variations.
[
            [
                'z' => [
                    '1',
                    '0',
                ],
                'a' => [],
            ],
            NULL,
            'a=&z=0,1',
        ],
        [
            [
                'a' => [],
                'z' => [
                    '1',
                    '0',
                ],
            ],
            NULL,
            'a=&z=0,1',
        ],
    ];
}

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