core/modules/page_cache/src/Tests/PageCacheTest.php | 6 ++++++ .../tests/modules/page_cache_test/page_cache_test.routing.yml | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/core/modules/page_cache/src/Tests/PageCacheTest.php b/core/modules/page_cache/src/Tests/PageCacheTest.php index 2c74dae..aae6c61 100644 --- a/core/modules/page_cache/src/Tests/PageCacheTest.php +++ b/core/modules/page_cache/src/Tests/PageCacheTest.php @@ -534,6 +534,12 @@ public function testStreamedResponses() { $this->assertIdentical('MISS', $this->drupalGetHeader('X-Drupal-Cache')); $this->drupalGet(Url::fromRoute('page_cache_test.streamed_response_interface.tracked')); $this->assertIdentical('HIT', $this->drupalGetHeader('X-Drupal-Cache')); + // Except when a response policy says it cannot be cached by PageCache, such + // as \Drupal\Core\PageCache\ResponsePolicy\DenyNoCacheRoutes. + $this->drupalGet(Url::fromRoute('page_cache_test.streamed_response_interface.tracked.no_cache')); + $this->assertFalse($this->drupalGetHeader('X-Drupal-Cache'), 'Drupal page cache header not found.'); + $this->drupalGet(Url::fromRoute('page_cache_test.streamed_response_interface.tracked.no_cache')); + $this->assertFalse($this->drupalGetHeader('X-Drupal-Cache'), 'Drupal page cache header not found.'); } } diff --git a/core/modules/page_cache/tests/modules/page_cache_test/page_cache_test.routing.yml b/core/modules/page_cache/tests/modules/page_cache_test/page_cache_test.routing.yml index 5f72632..d1e4baf 100644 --- a/core/modules/page_cache/tests/modules/page_cache_test/page_cache_test.routing.yml +++ b/core/modules/page_cache/tests/modules/page_cache_test/page_cache_test.routing.yml @@ -17,3 +17,11 @@ page_cache_test.streamed_response_interface.tracked: _controller: '\Drupal\page_cache_test\PageCacheTestController::streamedResponseInterfaceTracked' requirements: _access: 'TRUE' +page_cache_test.streamed_response_interface.tracked.no_cache: + path: '/page_cache_test/streamed_response_interface/tracked/nocache' + defaults: + _controller: '\Drupal\page_cache_test\PageCacheTestController::streamedResponseInterfaceTracked' + requirements: + _access: 'TRUE' + options: + no_cache: TRUE