public function testCacheControlParse() { $cacheControlHeader = CacheControl::fromString('Cache-Control: a, b=foo, c="bar, baz"'); $this->assertTrue($cacheControlHeader->hasDirective('a')); $this->assertTrue($cacheControlHeader->getDirective('a')); $this->assertTrue($cacheControlHeader->hasDirective('b')); $this->assertEquals('foo', $cacheControlHeader->getDirective('b')); $this->assertTrue($cacheControlHeader->hasDirective('c')); $this->assertEquals('bar, baz', $cacheControlHeader->getDirective('c')); }
/** * @dataProvider processNotSaveCacheProvider * @param string $cacheControlHeader * @param int $httpCode * @param bool $isGet * @param bool $overrideHeaders */ public function testProcessNotSaveCache($cacheControlHeader, $httpCode, $isGet, $overrideHeaders) { $header = \Zend\Http\Header\CacheControl::fromString("Cache-Control: {$cacheControlHeader}"); $this->responseMock->expects($this->once())->method('getHeader')->with('Cache-Control')->will($this->returnValue($header)); $this->responseMock->expects($this->any())->method('getHttpResponseCode')->will($this->returnValue($httpCode)); $this->requestMock->expects($this->any())->method('isGet')->will($this->returnValue($isGet)); if ($overrideHeaders) { $this->responseMock->expects($this->once())->method('setNoCacheHeaders'); } $this->fullPageCacheMock->expects($this->never())->method('save'); $this->kernel->process($this->responseMock); }
/** * @param Headers $headers * @return self */ public function setCacheControl(Headers $headers) { if (!empty($this->cacheConfig['cache-control']['value']) && (!empty($this->cacheConfig['cache-control']['override']) || !$headers->has('cache-control'))) { $cacheControl = Header\CacheControl::fromString("Cache-Control: {$this->cacheConfig['cache-control']['value']}"); $headers->addHeader($cacheControl); } return $this; }
public function testCacheControlFromStringCreatesValidCacheControlHeader() { $cacheControlHeader = CacheControl::fromString('Cache-Control: xxx'); $this->assertInstanceOf('Zend\\Http\\Header\\HeaderDescription', $cacheControlHeader); $this->assertInstanceOf('Zend\\Http\\Header\\CacheControl', $cacheControlHeader); }