class QueryArgsCacheContextTest in Drupal 10
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/Core/Cache/Context/QueryArgsCacheContextTest.php \Drupal\Tests\Core\Cache\Context\QueryArgsCacheContextTest
- 9 core/tests/Drupal/Tests/Core/Cache/Context/QueryArgsCacheContextTest.php \Drupal\Tests\Core\Cache\Context\QueryArgsCacheContextTest
@coversDefaultClass \Drupal\Core\Cache\Context\QueryArgsCacheContext @group Cache
Hierarchy
- class \Drupal\Tests\Core\Cache\Context\QueryArgsCacheContextTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of QueryArgsCacheContextTest
File
- core/
tests/ Drupal/ Tests/ Core/ Cache/ Context/ QueryArgsCacheContextTest.php, line 14
Namespace
Drupal\Tests\Core\Cache\ContextView source
class QueryArgsCacheContextTest extends UnitTestCase {
/**
* @covers ::getContext
*
* @dataProvider providerTestGetContext
*/
public function testGetContext(array $query_args, $cache_context_parameter, $context) {
$request_stack = new RequestStack();
$request = Request::create('/', 'GET', $query_args);
$request_stack
->push($request);
$cache_context = new QueryArgsCacheContext($request_stack);
$this
->assertSame($cache_context
->getContext($cache_context_parameter), $context);
}
/**
* Provides a list of query arguments and expected cache contexts.
*/
public function providerTestGetContext() {
return [
[
[],
NULL,
'',
],
[
[],
'foo',
'',
],
// Non-empty query arguments.
[
[
'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',
'',
],
[
[
'llama' => [
'rocks',
'kitty',
],
],
'llama',
'0=rocks&1=kitty',
],
[
[
'llama' => [
'rocks' => 'fuzzball',
'monkey' => 'patch',
],
],
'llama',
'rocks=fuzzball&monkey=patch',
],
[
[
'llama' => [
'rocks' => [
'nested',
'bonobo',
],
],
],
'llama',
'rocks%5B0%5D=nested&rocks%5B1%5D=bonobo',
],
];
}
}