function HeadersCacheContextTest::providerTestGetContext

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Cache/Context/HeadersCacheContextTest.php \Drupal\Tests\Core\Cache\Context\HeadersCacheContextTest::providerTestGetContext()
  2. 10 core/tests/Drupal/Tests/Core/Cache/Context/HeadersCacheContextTest.php \Drupal\Tests\Core\Cache\Context\HeadersCacheContextTest::providerTestGetContext()
  3. 11.x 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 35

Class

HeadersCacheContextTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Cache%21Context%21HeadersCacheContext.php/class/HeadersCacheContext/8.9.x" title="Defines the HeadersCacheContext service, for &quot;per header&quot; caching." class="local">\Drupal\Core\Cache\Context\HeadersCacheContext</a> @group Cache

Namespace

Drupal\Tests\Core\Cache\Context

Code

public 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.