You are here

public function DefaultPluginManagerTest::testCacheClearWithTags in Drupal 10

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php \Drupal\Tests\Core\Plugin\DefaultPluginManagerTest::testCacheClearWithTags()
  2. 9 core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php \Drupal\Tests\Core\Plugin\DefaultPluginManagerTest::testCacheClearWithTags()

Tests the plugin manager cache clear with tags.

File

core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php, line 250

Class

DefaultPluginManagerTest
Tests the DefaultPluginManager.

Namespace

Drupal\Tests\Core\Plugin

Code

public function testCacheClearWithTags() {
  $cid = $this
    ->randomMachineName();
  $cache_backend = $this
    ->createMock('Drupal\\Core\\Cache\\CacheBackendInterface');
  $cache_tags_invalidator = $this
    ->createMock('Drupal\\Core\\Cache\\CacheTagsInvalidatorInterface');
  $cache_tags_invalidator
    ->expects($this
    ->once())
    ->method('invalidateTags')
    ->with([
    'tag',
  ]);
  $cache_backend
    ->expects($this
    ->never())
    ->method('deleteMultiple');
  $this
    ->getContainerWithCacheTagsInvalidator($cache_tags_invalidator);
  $plugin_manager = new TestPluginManager($this->namespaces, $this->expectedDefinitions, NULL, NULL, '\\Drupal\\plugin_test\\Plugin\\plugin_test\\fruit\\FruitInterface');
  $plugin_manager
    ->setCacheBackend($cache_backend, $cid, [
    'tag',
  ]);
  $plugin_manager
    ->clearCachedDefinitions();
}