diff --git a/core/lib/Drupal/Core/Cache/CacheableJsonResponse.php b/core/lib/Drupal/Core/Cache/CacheableJsonResponse.php new file mode 100644 index 0000000..bc7d2a3 --- /dev/null +++ b/core/lib/Drupal/Core/Cache/CacheableJsonResponse.php @@ -0,0 +1,26 @@ +drupalGet('/system-test/respond-reponse'); - $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'MISS', 'Page was not cached.'); + $this->assertFalse(in_array('X-Drupal-Cache', $this->drupalGetHeaders()), 'Drupal page cache header not found'); $this->assertEqual($this->drupalGetHeader('Cache-Control'), 'must-revalidate, no-cache, post-check=0, pre-check=0, private', 'Cache-Control header was sent'); // Still not cached, uncacheable response. $this->drupalGet('/system-test/respond-reponse'); - $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'MISS', 'Page was not cached.'); + $this->assertFalse(in_array('X-Drupal-Cache', $this->drupalGetHeaders()), 'Drupal page cache header not found'); $this->assertEqual($this->drupalGetHeader('Cache-Control'), 'must-revalidate, no-cache, post-check=0, pre-check=0, private', 'Cache-Control header was sent'); // Try to fill the cache. diff --git a/core/modules/system/tests/modules/system_test/src/Controller/PageCacheAcceptHeaderController.php b/core/modules/system/tests/modules/system_test/src/Controller/PageCacheAcceptHeaderController.php index c24d7c5..a77c472 100644 --- a/core/modules/system/tests/modules/system_test/src/Controller/PageCacheAcceptHeaderController.php +++ b/core/modules/system/tests/modules/system_test/src/Controller/PageCacheAcceptHeaderController.php @@ -7,9 +7,9 @@ namespace Drupal\system_test\Controller; +use Drupal\Core\Cache\CacheableJsonResponse; +use Drupal\Core\Cache\CacheableResponse; use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\JsonResponse; -use Symfony\Component\HttpFoundation\Response; /** * Defines a controller to respond the page cache accept header test. @@ -26,10 +26,10 @@ class PageCacheAcceptHeaderController { */ public function content(Request $request) { if ($request->getRequestFormat() === 'json') { - return new JsonResponse(array('content' => 'oh hai this is json')); + return new CacheableJsonResponse(['content' => 'oh hai this is json']); } else { - return new Response("

oh hai this is html.

"); + return new CacheableResponse("

oh hai this is html.

"); } } }