You are here

public function HeadersCacheContextTest::providerTestGetContext in Drupal 9

Same name and namespace in other branches
  1. 8 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 \Drupal\Core\Cache\Context\HeadersCacheContext @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',
    ],
  ];
}