X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=web%2Fcore%2Ftests%2FDrupal%2FTests%2FCore%2FCache%2FContext%2FHeadersCacheContextTest.php;fp=web%2Fcore%2Ftests%2FDrupal%2FTests%2FCore%2FCache%2FContext%2FHeadersCacheContextTest.php;h=8f69e21740c9022e54ad49bf7bed7c4dc910ca05;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hp=0000000000000000000000000000000000000000;hpb=aea91e65e895364e460983b890e295aa5d5540a5;p=yaffs-website diff --git a/web/core/tests/Drupal/Tests/Core/Cache/Context/HeadersCacheContextTest.php b/web/core/tests/Drupal/Tests/Core/Cache/Context/HeadersCacheContextTest.php new file mode 100644 index 000000000..8f69e2174 --- /dev/null +++ b/web/core/tests/Drupal/Tests/Core/Cache/Context/HeadersCacheContextTest.php @@ -0,0 +1,54 @@ +headers->replace($headers); + $request_stack->push($request); + $cache_context = new HeadersCacheContext($request_stack); + $this->assertSame($cache_context->getContext($header_name), $context); + } + + /** + * Provides a list of headers and expected cache contexts. + */ + 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'], + ]; + } + +}