diff --git a/tests/HeaderCacheControlTest.php b/tests/HeaderCacheControlTest.php index e8495cc4..879cd2fa 100644 --- a/tests/HeaderCacheControlTest.php +++ b/tests/HeaderCacheControlTest.php @@ -32,6 +32,11 @@ public function setUp() (new Response()) ->withAddedHeader("Cache-Control", "max-age=2") ); + case '/2s-complex': + return new FulfilledPromise( + (new Response()) + ->withAddedHeader("Cache-Control", "invalid-token =\"yes\", max-age=2, stale-while-revalidate= 60") + ); case '/no-store': return new FulfilledPromise( (new Response()) @@ -72,6 +77,19 @@ public function testMaxAgeHeader() $this->assertEquals(CacheMiddleware::HEADER_CACHE_MISS, $response->getHeaderLine(CacheMiddleware::HEADER_CACHE_INFO)); } + public function testMaxAgeComplexHeader() + { + $this->client->get("http://test.com/2s-complex"); + + $response = $this->client->get("http://test.com/2s-complex"); + $this->assertEquals(CacheMiddleware::HEADER_CACHE_HIT, $response->getHeaderLine(CacheMiddleware::HEADER_CACHE_INFO)); + + sleep(3); + + $response = $this->client->get("http://test.com/2s-complex"); + $this->assertEquals(CacheMiddleware::HEADER_CACHE_MISS, $response->getHeaderLine(CacheMiddleware::HEADER_CACHE_INFO)); + } + public function testNoStoreHeader() { $this->client->get("http://test.com/no-store"); @@ -88,4 +106,4 @@ public function testNoCacheHeader() $this->assertEquals(CacheMiddleware::HEADER_CACHE_HIT, $response->getHeaderLine(CacheMiddleware::HEADER_CACHE_INFO)); } -} \ No newline at end of file +}