3 namespace Drupal\Tests\system\Unit\Menu;
5 use Drupal\Core\Extension\Extension;
6 use Drupal\Tests\Core\Menu\LocalTaskIntegrationTestBase;
9 * Tests existence of system local tasks.
13 class SystemLocalTasksTest extends LocalTaskIntegrationTestBase {
16 * The mocked theme handler.
18 * @var \Drupal\Core\Extension\ThemeHandlerInterface|\PHPUnit_Framework_MockObject_MockObject
20 protected $themeHandler;
25 protected function setUp() {
28 $this->directoryList = [
29 'system' => 'core/modules/system',
32 $this->themeHandler = $this->getMock('Drupal\Core\Extension\ThemeHandlerInterface');
34 $theme = new Extension($this->root, 'theme', '/core/themes/bartik', 'bartik.info.yml');
36 $theme->info = ['name' => 'bartik'];
37 $this->themeHandler->expects($this->any())
39 ->will($this->returnValue([
42 $this->themeHandler->expects($this->any())
46 $this->container->set('theme_handler', $this->themeHandler);
50 * Tests local task existence.
52 * @dataProvider getSystemAdminRoutes
54 public function testSystemAdminLocalTasks($route, $expected) {
55 $this->assertLocalTasks($route, $expected);
59 * Provides a list of routes to test.
61 public function getSystemAdminRoutes() {
63 ['system.admin_content', [['system.admin_content']]],
64 ['system.theme_settings_theme', [
65 ['system.themes_page', 'system.theme_settings'],
66 ['system.theme_settings_global', 'system.theme_settings_theme:bartik'],