public function testReloadsResponsesWhenCacheHitsButNoCacheRequestDirectivePresentWhenAllowReloadIsSetTrue() {
$count = 0;
$this
->setNextResponse(200, array(
'Cache-Control' => 'public, max-age=10000',
), '', function ($request, $response) use (&$count) {
++$count;
$response
->setContent(1 == $count ? 'Hello World' : 'Goodbye World');
});
$this
->request('GET', '/');
$this
->assertEquals(200, $this->response
->getStatusCode());
$this
->assertEquals('Hello World', $this->response
->getContent());
$this
->assertTraceContains('store');
$this
->request('GET', '/');
$this
->assertEquals(200, $this->response
->getStatusCode());
$this
->assertEquals('Hello World', $this->response
->getContent());
$this
->assertTraceContains('fresh');
$this->cacheConfig['allow_reload'] = true;
$this
->request('GET', '/', array(
'HTTP_CACHE_CONTROL' => 'no-cache',
));
$this
->assertEquals(200, $this->response
->getStatusCode());
$this
->assertEquals('Goodbye World', $this->response
->getContent());
$this
->assertTraceContains('reload');
$this
->assertTraceContains('store');
}