class BlockLocalTasksTest
Same name and namespace in other branches
- 11.x core/modules/block/tests/src/Unit/Menu/BlockLocalTasksTest.php \Drupal\Tests\block\Unit\Menu\BlockLocalTasksTest
Tests block local tasks.
@group block
Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait implements \PHPUnit\Framework\TestCase
- class \Drupal\Tests\Core\Menu\LocalTaskIntegrationTestBase implements \Drupal\Tests\UnitTestCase
- class \Drupal\Tests\block\Unit\Menu\BlockLocalTasksTest implements \Drupal\Tests\Core\Menu\LocalTaskIntegrationTestBase
- class \Drupal\Tests\Core\Menu\LocalTaskIntegrationTestBase implements \Drupal\Tests\UnitTestCase
Expanded class hierarchy of BlockLocalTasksTest
File
-
core/
modules/ block/ tests/ src/ Unit/ Menu/ BlockLocalTasksTest.php, line 13
Namespace
Drupal\Tests\block\Unit\MenuView source
class BlockLocalTasksTest extends LocalTaskIntegrationTestBase {
/**
* {@inheritdoc}
*/
protected function setUp() : void {
$this->directoryList = [
'block' => 'core/modules/block',
];
parent::setUp();
$config_factory = $this->getConfigFactoryStub([
'system.theme' => [
'default' => 'test_c',
],
]);
$themes = [];
$themes['test_a'] = (object) [
'status' => 1,
'info' => [
'name' => 'test_a',
'hidden' => TRUE,
],
];
$themes['test_b'] = (object) [
'status' => 1,
'info' => [
'name' => 'test_b',
],
];
$themes['test_c'] = (object) [
'status' => 1,
'info' => [
'name' => 'test_c',
],
];
$theme_handler = $this->createMock('Drupal\\Core\\Extension\\ThemeHandlerInterface');
$theme_handler->expects($this->any())
->method('listInfo')
->willReturn($themes);
$theme_handler->expects($this->any())
->method('hasUi')
->willReturnMap([
[
'test_a',
FALSE,
],
[
'test_b',
TRUE,
],
[
'test_c',
TRUE,
],
]);
$container = new ContainerBuilder();
$container->set('config.factory', $config_factory);
$container->set('theme_handler', $theme_handler);
$container->setParameter('app.root', $this->root);
\Drupal::setContainer($container);
}
/**
* Tests the admin edit local task.
*/
public function testBlockAdminLocalTasks() {
$this->assertLocalTasks('entity.block.edit_form', [
[
'entity.block.edit_form',
],
]);
}
/**
* Tests the block admin display local tasks.
*
* @dataProvider providerTestBlockAdminDisplay
*/
public function testBlockAdminDisplay($route, $expected) {
$this->assertLocalTasks($route, $expected);
}
/**
* Provides a list of routes to test.
*/
public function providerTestBlockAdminDisplay() {
return [
[
'block.admin_display',
[
[
'block.admin_display',
],
[
'block.admin_display_theme:test_b',
'block.admin_display_theme:test_c',
],
],
],
[
'block.admin_display_theme',
[
[
'block.admin_display',
],
[
'block.admin_display_theme:test_b',
'block.admin_display_theme:test_c',
],
],
],
];
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.