Loading admin_toolbar.links.menu.yml +1 −0 Original line number Diff line number Diff line Loading @@ -3,3 +3,4 @@ admin_toolbar.settings: description: 'Configure the Admin Toolbar module.' route_name: admin_toolbar.settings parent: system.admin_config_ui weight: -1 admin_toolbar.links.task.yml 0 → 100644 +6 −0 Original line number Diff line number Diff line # Add Admin Toolbar settings as a local task displayed as a tab. admin_toolbar.settings: title: 'Toolbar settings' route_name: admin_toolbar.settings base_route: admin_toolbar.settings weight: 0 admin_toolbar_search/admin_toolbar_search.links.task.yml 0 → 100644 +6 −0 Original line number Diff line number Diff line # Add Admin Toolbar Search settings as a local task displayed as a tab. admin_toolbar_search.settings: title: 'Search settings' route_name: admin_toolbar_search.settings base_route: admin_toolbar.settings weight: 5 admin_toolbar_search/admin_toolbar_search.routing.yml +1 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ admin_toolbar.search: admin_toolbar_search.settings: path: '/admin/config/user-interface/admin-toolbar-search-settings' defaults: _title: 'Admin toolbar search settings' _title: 'Admin Toolbar Search settings' _form: 'Drupal\admin_toolbar_search\Form\AdminToolbarSearchSettingsForm' requirements: _permission: 'administer site configuration' admin_toolbar_search/tests/src/Functional/AdminToolbarSearchSettingsFormTest.php +34 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace Drupal\Tests\admin_toolbar_search\Functional; use Drupal\block\Entity\Block; use Drupal\Tests\BrowserTestBase; /** Loading @@ -21,6 +22,8 @@ class AdminToolbarSearchSettingsFormTest extends BrowserTestBase { */ protected static $modules = [ 'admin_toolbar_search', // Enable the block module to be able to test module's local tasks. 'block', ]; /** Loading @@ -44,6 +47,8 @@ class AdminToolbarSearchSettingsFormTest extends BrowserTestBase { 'use admin toolbar search', ]; $this->adminUser = $this->drupalCreateUser($permissions); // Create a block for testing module's primary local tasks. $this->createPrimaryLocalTasksBlock(); } /** Loading Loading @@ -93,6 +98,35 @@ class AdminToolbarSearchSettingsFormTest extends BrowserTestBase { $assert->responseNotContains('admin_toolbar_search.keyboard_shortcut.js'); // Check the display menu item JS is not found. $assert->responseNotContains('displayMenuItem'); // Check the module's local tasks are displayed as expected. $local_tasks_regex = '/<div.*-primary-local-tasks.*>([\r\n].*)+<a.*>Toolbar settings<\/a>.*[\r\n].*<a.*>Search settings<\/a>.*[\r\n].*<a.*>Tools settings<\/a>.*[\r\n].*([\r\n].*)+<\/div>/'; $assert->responseMatches($local_tasks_regex); } /** * Helper function to create a block to test module's primary local tasks. */ private function createPrimaryLocalTasksBlock(): void { $values = [ // A unique ID for the block instance. 'id' => 'stark_primary_local_tasks', // The plugin block id as defined in the class. 'plugin' => 'local_tasks_block', // The machine name of the theme region. 'region' => 'highlighted', 'settings' => [ 'label' => 'Primary tabs', 'label_display' => '0', 'primary' => TRUE, 'secondary' => FALSE, ], // The machine name of the theme. 'theme' => $this->defaultTheme, 'visibility' => [], 'weight' => 100, ]; $block = Block::create($values); $block->save(); } } Loading
admin_toolbar.links.menu.yml +1 −0 Original line number Diff line number Diff line Loading @@ -3,3 +3,4 @@ admin_toolbar.settings: description: 'Configure the Admin Toolbar module.' route_name: admin_toolbar.settings parent: system.admin_config_ui weight: -1
admin_toolbar.links.task.yml 0 → 100644 +6 −0 Original line number Diff line number Diff line # Add Admin Toolbar settings as a local task displayed as a tab. admin_toolbar.settings: title: 'Toolbar settings' route_name: admin_toolbar.settings base_route: admin_toolbar.settings weight: 0
admin_toolbar_search/admin_toolbar_search.links.task.yml 0 → 100644 +6 −0 Original line number Diff line number Diff line # Add Admin Toolbar Search settings as a local task displayed as a tab. admin_toolbar_search.settings: title: 'Search settings' route_name: admin_toolbar_search.settings base_route: admin_toolbar.settings weight: 5
admin_toolbar_search/admin_toolbar_search.routing.yml +1 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ admin_toolbar.search: admin_toolbar_search.settings: path: '/admin/config/user-interface/admin-toolbar-search-settings' defaults: _title: 'Admin toolbar search settings' _title: 'Admin Toolbar Search settings' _form: 'Drupal\admin_toolbar_search\Form\AdminToolbarSearchSettingsForm' requirements: _permission: 'administer site configuration'
admin_toolbar_search/tests/src/Functional/AdminToolbarSearchSettingsFormTest.php +34 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace Drupal\Tests\admin_toolbar_search\Functional; use Drupal\block\Entity\Block; use Drupal\Tests\BrowserTestBase; /** Loading @@ -21,6 +22,8 @@ class AdminToolbarSearchSettingsFormTest extends BrowserTestBase { */ protected static $modules = [ 'admin_toolbar_search', // Enable the block module to be able to test module's local tasks. 'block', ]; /** Loading @@ -44,6 +47,8 @@ class AdminToolbarSearchSettingsFormTest extends BrowserTestBase { 'use admin toolbar search', ]; $this->adminUser = $this->drupalCreateUser($permissions); // Create a block for testing module's primary local tasks. $this->createPrimaryLocalTasksBlock(); } /** Loading Loading @@ -93,6 +98,35 @@ class AdminToolbarSearchSettingsFormTest extends BrowserTestBase { $assert->responseNotContains('admin_toolbar_search.keyboard_shortcut.js'); // Check the display menu item JS is not found. $assert->responseNotContains('displayMenuItem'); // Check the module's local tasks are displayed as expected. $local_tasks_regex = '/<div.*-primary-local-tasks.*>([\r\n].*)+<a.*>Toolbar settings<\/a>.*[\r\n].*<a.*>Search settings<\/a>.*[\r\n].*<a.*>Tools settings<\/a>.*[\r\n].*([\r\n].*)+<\/div>/'; $assert->responseMatches($local_tasks_regex); } /** * Helper function to create a block to test module's primary local tasks. */ private function createPrimaryLocalTasksBlock(): void { $values = [ // A unique ID for the block instance. 'id' => 'stark_primary_local_tasks', // The plugin block id as defined in the class. 'plugin' => 'local_tasks_block', // The machine name of the theme region. 'region' => 'highlighted', 'settings' => [ 'label' => 'Primary tabs', 'label_display' => '0', 'primary' => TRUE, 'secondary' => FALSE, ], // The machine name of the theme. 'theme' => $this->defaultTheme, 'visibility' => [], 'weight' => 100, ]; $block = Block::create($values); $block->save(); } }