Issue #3111504 by andypost, longwave, Berdir: Properly deprecate AccessResult::cacheUntilEntityChanges()

merge-requests/64/head
catch 2020-02-06 09:57:56 +00:00
parent 1f9fb6a1e7
commit f6cd86e346
2 changed files with 17 additions and 0 deletions

View File

@ -290,6 +290,7 @@ abstract class AccessResult implements AccessResultInterface, RefinableCacheable
* ::addCacheableDependency() instead.
*/
public function cacheUntilEntityChanges(EntityInterface $entity) {
@trigger_error(__METHOD__ . ' is deprecated in drupal:8.0.0 and is removed in drupal:9.0.0. Use \Drupal\Core\Access\AccessResult::addCacheableDependency() instead.', E_USER_DEPRECATED);
return $this->addCacheableDependency($entity);
}

View File

@ -15,6 +15,7 @@ use Drupal\Core\Cache\Cache;
use Drupal\Core\Cache\CacheableDependencyInterface;
use Drupal\Core\Config\Config;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Tests\UnitTestCase;
/**
@ -969,6 +970,21 @@ class AccessResultTest extends UnitTestCase {
return $data;
}
/**
* @expectedDeprecation Drupal\Core\Access\AccessResult::cacheUntilEntityChanges is deprecated in drupal:8.0.0 and is removed in drupal:9.0.0. Use \Drupal\Core\Access\AccessResult::addCacheableDependency() instead.
* @group legacy
*/
public function testCacheUntilEntityChanges() {
$entity = $this->prophesize(EntityInterface::class);
$entity->getCacheContexts()->willReturn(['context']);
$entity->getCacheTags()->willReturn(['tag']);
$entity->getCacheMaxAge()->willReturn(10);
$access_result = AccessResult::neutral()->cacheUntilEntityChanges($entity->reveal());
$this->assertSame(['context'], $access_result->getCacheContexts());
$this->assertSame(['tag'], $access_result->getCacheTags());
$this->assertSame(10, $access_result->getCacheMaxAge());
}
/**
* @expectedDeprecation Drupal\Core\Access\AccessResult::cacheUntilConfigurationChanges is deprecated in drupal:8.0.0 and is removed in drupal:9.0.0. Use \Drupal\Core\Access\AccessResult::addCacheableDependency() instead.
* @group legacy