function LocalTaskManagerTest::testGetLocalTaskForRouteWithEmptyCache

Same name in other branches
  1. 9 core/tests/Drupal/Tests/Core/Menu/LocalTaskManagerTest.php \Drupal\Tests\Core\Menu\LocalTaskManagerTest::testGetLocalTaskForRouteWithEmptyCache()
  2. 10 core/tests/Drupal/Tests/Core/Menu/LocalTaskManagerTest.php \Drupal\Tests\Core\Menu\LocalTaskManagerTest::testGetLocalTaskForRouteWithEmptyCache()
  3. 11.x core/tests/Drupal/Tests/Core/Menu/LocalTaskManagerTest.php \Drupal\Tests\Core\Menu\LocalTaskManagerTest::testGetLocalTaskForRouteWithEmptyCache()

Tests the cache of the local task manager with an empty initial cache.

File

core/tests/Drupal/Tests/Core/Menu/LocalTaskManagerTest.php, line 168

Class

LocalTaskManagerTest
@coversDefaultClass \Drupal\Core\Menu\LocalTaskManager @group Menu

Namespace

Drupal\Tests\Core\Menu

Code

public function testGetLocalTaskForRouteWithEmptyCache() {
    $definitions = $this->getLocalTaskFixtures();
    $this->pluginDiscovery
        ->expects($this->once())
        ->method('getDefinitions')
        ->will($this->returnValue($definitions));
    $mock_plugin = $this->createMock('Drupal\\Core\\Menu\\LocalTaskInterface');
    $this->setupFactory($mock_plugin);
    $this->setupLocalTaskManager();
    $result = $this->getLocalTasksForRouteResult($mock_plugin);
    $this->cacheBackend
        ->expects($this->at(0))
        ->method('get')
        ->with('local_task_plugins:en:menu_local_task_test_tasks_view');
    $this->cacheBackend
        ->expects($this->at(1))
        ->method('get')
        ->with('local_task_plugins:en');
    $this->cacheBackend
        ->expects($this->at(2))
        ->method('set')
        ->with('local_task_plugins:en', $definitions, Cache::PERMANENT);
    $expected_set = $this->getLocalTasksCache();
    $this->cacheBackend
        ->expects($this->at(3))
        ->method('set')
        ->with('local_task_plugins:en:menu_local_task_test_tasks_view', $expected_set, Cache::PERMANENT, [
        'local_task',
    ]);
    $local_tasks = $this->manager
        ->getLocalTasksForRoute('menu_local_task_test_tasks_view');
    $this->assertEquals($result, $local_tasks);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.