You are here

class LocalActionManagerTest in Drupal 10

Same name in this branch
  1. 10 core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php \Drupal\Tests\Core\Menu\LocalActionManagerTest
  2. 10 core/tests/Drupal/KernelTests/Core/Menu/LocalActionManagerTest.php \Drupal\KernelTests\Core\Menu\LocalActionManagerTest
Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/Core/Menu/LocalActionManagerTest.php \Drupal\KernelTests\Core\Menu\LocalActionManagerTest
  2. 9 core/tests/Drupal/KernelTests/Core/Menu/LocalActionManagerTest.php \Drupal\KernelTests\Core\Menu\LocalActionManagerTest

Tests the local action manager.

@coversDefaultClass \Drupal\Core\Menu\LocalActionManager @group Menu

Hierarchy

Expanded class hierarchy of LocalActionManagerTest

File

core/tests/Drupal/KernelTests/Core/Menu/LocalActionManagerTest.php, line 13

Namespace

Drupal\KernelTests\Core\Menu
View source
class LocalActionManagerTest extends KernelTestBase {

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'menu_test',
    'user',
    'system',
  ];

  /**
   * Tests the cacheability of local actions.
   */
  public function testCacheability() {

    /** @var \Drupal\Core\Menu\LocalActionManager $local_action_manager */
    $local_action_manager = \Drupal::service('plugin.manager.menu.local_action');
    $build = [
      '#cache' => [
        'key' => 'foo',
      ],
      $local_action_manager
        ->getActionsForRoute('menu_test.local_action7'),
    ];

    /** @var \Drupal\Core\Render\RendererInterface $renderer */
    $renderer = \Drupal::service('renderer');
    $renderer
      ->renderRoot($build);
    $this
      ->assertContains('menu_local_action7', $build[0]['menu_test.local_action7']['#cache']['tags']);
    $this
      ->assertContains('url.query_args:menu_local_action7', $build[0]['menu_test.local_action7']['#cache']['contexts']);
    $this
      ->assertContains('menu_local_action8', $build[0]['menu_test.local_action8']['#cache']['tags']);
    $this
      ->assertContains('url.query_args:menu_local_action8', $build[0]['menu_test.local_action8']['#cache']['contexts']);
    $this
      ->assertContains('menu_local_action7', $build['#cache']['tags']);
    $this
      ->assertContains('url.query_args:menu_local_action7', $build['#cache']['contexts']);
    $this
      ->assertContains('menu_local_action8', $build['#cache']['tags']);
    $this
      ->assertContains('url.query_args:menu_local_action8', $build['#cache']['contexts']);
  }

}

Members