diff --git a/core/modules/system/tests/modules/menu_test/lib/Drupal/menu_test/Controller/MenuTestController.php b/core/modules/system/tests/modules/menu_test/lib/Drupal/menu_test/Controller/MenuTestController.php new file mode 100644 index 0000000..d315e6d --- /dev/null +++ b/core/modules/system/tests/modules/menu_test/lib/Drupal/menu_test/Controller/MenuTestController.php @@ -0,0 +1,43 @@ + 'Test menu_name router item', - 'page callback' => 'menu_test_callback', + 'route_name' => 'menu_test.menu_name_test', 'menu_name' => menu_test_menu_name(), ); - // This item is of type MENU_CALLBACK with no parents to test title. - $items['menu_callback_title'] = array( - 'title' => 'Menu Callback Title', - 'page callback' => 'menu_test_callback', - 'type' => MENU_CALLBACK, - 'access arguments' => array('access content'), - ); // This item uses SystemController::systemAdminMenuBlockPage() to list child // items. $items['menu_callback_description'] = array( @@ -34,64 +27,56 @@ function menu_test_menu() { // This item tests the description key. $items['menu_callback_description/description-plain'] = array( 'title' => 'Menu item with a regular description', - 'page callback' => 'menu_test_callback', 'description' => 'Menu item description text', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.callback_description_plain', ); // This item tests using a description callback. $items['menu_callback_description/description-callback'] = array( 'title' => 'Menu item with a description set with a callback', - 'page callback' => 'menu_test_callback', 'description callback' => 'check_plain', 'description arguments' => array('Menu item description arguments'), - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.callback_description_callback', ); // Use FALSE as 'title callback' to bypass t(). $items['menu_no_title_callback'] = array( 'title' => 'A title with @placeholder', 'title callback' => FALSE, 'title arguments' => array('@placeholder' => 'some other text'), - 'page callback' => 'menu_test_callback', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.menu_no_title_callback', ); // Hidden link for menu_link_maintain tests $items['menu_test_maintain/%'] = array( 'title' => 'Menu maintain test', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.menu_test_maintain', ); // Hierarchical tests. $items['menu-test/hierarchy/parent'] = array( 'title' => 'Parent menu router', - 'page callback' => 'test_page_test_page', + 'route_name' => 'menu_test.hierarchy_parent', ); $items['menu-test/hierarchy/parent/child'] = array( 'title' => 'Child menu router', - 'page callback' => 'test_page_test_page', + 'route_name' => 'menu_test.hierarchy_parent_child', ); $items['menu-test/hierarchy/parent/child2/child'] = array( 'title' => 'Unattached subchild router', - 'page callback' => 'test_page_test_page', + 'route_name' => 'menu_test.hierarchy_parent_child2', ); // Theme callback tests. $items['menu-test/theme-callback/%'] = array( 'title' => 'Page that displays different themes', - 'page callback' => 'menu_test_theme_page_callback', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.theme_callback', 'theme callback' => 'menu_test_theme_callback', 'theme arguments' => array(2), ); $items['menu-test/theme-callback/%/inheritance'] = array( 'title' => 'Page that tests theme callback inheritance.', - 'page callback' => 'menu_test_theme_page_callback', - 'page arguments' => array(TRUE), - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.theme_callback_inheritance', ); $items['menu-test/no-theme-callback'] = array( 'title' => 'Page that displays different themes without using a theme callback.', - 'page callback' => 'menu_test_theme_page_callback', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.no_theme_callback', ); // Path containing "exotic" characters. $path = "menu-test/ -._~!$'\"()*@[]?&+%#,;=:" . // "Special" ASCII characters. @@ -108,20 +93,17 @@ function menu_test_menu() { // change, we need to simulate our own in here. $items['menu-test'] = array( 'title' => 'Menu test root', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.menu_test', ); $items['menu-test/hidden'] = array( 'title' => 'Hidden test root', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden', ); // Hidden tests; one dynamic argument. $items['menu-test/hidden/menu'] = array( 'title' => 'Menus', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden_menu', ); $items['menu-test/hidden/menu/list'] = array( 'title' => 'List menus', @@ -129,21 +111,18 @@ function menu_test_menu() { ); $items['menu-test/hidden/menu/add'] = array( 'title' => 'Add menu', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden_menu_add', 'type' => MENU_LOCAL_ACTION, ); $items['menu-test/hidden/menu/settings'] = array( 'title' => 'Settings', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden_menu_settings', 'type' => MENU_LOCAL_TASK, 'weight' => 5, ); $items['menu-test/hidden/menu/manage/%menu'] = array( 'title' => 'Customize menu', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden_manage', ); $items['menu-test/hidden/menu/manage/%menu/list'] = array( 'title' => 'List links', @@ -152,28 +131,24 @@ function menu_test_menu() { ); $items['menu-test/hidden/menu/manage/%menu/add'] = array( 'title' => 'Add link', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden_manage_add', 'type' => MENU_LOCAL_ACTION, ); $items['menu-test/hidden/menu/manage/%menu/edit'] = array( 'title' => 'Edit menu', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden_manage_edit', 'type' => MENU_LOCAL_TASK, 'context' => MENU_CONTEXT_PAGE | MENU_CONTEXT_INLINE, ); $items['menu-test/hidden/menu/manage/%menu/delete'] = array( 'title' => 'Delete menu', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden_manage_delete', ); // Hidden tests; two dynamic arguments. $items['menu-test/hidden/block'] = array( 'title' => 'Blocks', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden_block', ); $items['menu-test/hidden/block/list'] = array( 'title' => 'List', @@ -181,14 +156,12 @@ function menu_test_menu() { ); $items['menu-test/hidden/block/add'] = array( 'title' => 'Add block', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden_block_add', 'type' => MENU_LOCAL_ACTION, ); $items['menu-test/hidden/block/manage/%/%'] = array( 'title' => 'Configure block', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden_block_configure', ); $items['menu-test/hidden/block/manage/%/%/configure'] = array( 'title' => 'Configure block', @@ -197,8 +170,7 @@ function menu_test_menu() { ); $items['menu-test/hidden/block/manage/%/%/delete'] = array( 'title' => 'Delete block', - 'page callback' => 'test_page_test_page', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.hidden_block_delete', 'type' => MENU_LOCAL_TASK, 'context' => MENU_CONTEXT_NONE, ); @@ -274,53 +246,45 @@ function menu_test_menu() { // @see MenuTrailTestCase $items['menu-test/menu-trail'] = array( 'title' => 'Menu trail - Case 1', - 'page callback' => 'menu_test_menu_trail_callback', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.menu_trail', ); $items['admin/config/development/menu-trail'] = array( 'title' => 'Menu trail - Case 2', 'description' => 'Tests menu_tree_set_path()', - 'page callback' => 'menu_test_menu_trail_callback', - 'access arguments' => array('access administration pages'), + 'route_name' => 'menu_test.menu_trail_admin', ); $items['menu-test/custom-403-page'] = array( 'title' => 'Custom 403 page', - 'page callback' => 'menu_test_custom_403_404_callback', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.custom_403', ); $items['menu-test/custom-404-page'] = array( 'title' => 'Custom 404 page', - 'page callback' => 'menu_test_custom_403_404_callback', - 'access arguments' => array('access content'), + 'route_name' => 'menu_test.custom_404', ); // Test the access key. $items['menu-title-test/case1'] = array( - 'title' => 'Example title - Case 1', - 'access callback' => TRUE, - 'page callback' => 'menu_test_callback', + 'title' => 'Example title - Case 1', + 'route_name' => 'menu_test.title_test_case1', ); $items['menu-title-test/case2'] = array( - 'title' => 'Example @sub1 - Case @op2', - // If '2' is not in quotes, the argument becomes arg(2). - 'title arguments' => array('@sub1' => 'title', '@op2' => '2'), - 'access callback' => TRUE, - 'page callback' => 'menu_test_callback', + 'title' => 'Example @sub1 - Case @op2', + // If '2' is not in quotes, the argument becomes arg(2). + 'title arguments' => array('@sub1' => 'title', '@op2' => '2'), + 'route_name' => 'menu_test.title_test_case2', ); $items['menu-title-test/case3'] = array( - 'title' => 'Example title', - 'title callback' => 'menu_test_title_callback', - 'access callback' => TRUE, - 'page callback' => 'menu_test_callback', + 'title' => 'Example title', + 'title callback' => 'menu_test_title_callback', + 'route_name' => 'menu_test.title_test_case3', ); $items['menu-title-test/case4'] = array( - // Title gets completely ignored. Good thing, too. - 'title' => 'Bike sheds full of blue smurfs', - 'title callback' => 'menu_test_title_callback', - // If '4' is not in quotes, the argument becomes arg(4). - 'title arguments' => array('Example title', '4'), - 'access callback' => TRUE, - 'page callback' => 'menu_test_callback', + // Title gets completely ignored. Good thing, too. + 'title' => 'Bike sheds full of blue smurfs', + 'title callback' => 'menu_test_title_callback', + // If '4' is not in quotes, the argument becomes arg(4). + 'title arguments' => array('Example title', '4'), + 'route_name' => 'menu_test.title_test_case4', ); // Load arguments inheritance test. @@ -530,6 +494,8 @@ function menu_test_other_argument_load($arg1) { * A string that can be used for comparison. * * @see menu_test_menu(). + * + * @deprecated Use \Drupal\menu_test\Controller\MenuTestController::menuTestCallback() */ function menu_test_callback() { return 'This is menu_test_callback().'; @@ -545,6 +511,8 @@ function menu_test_callback() { * A string that can be used for comparison. * * @see menu_test_menu(). + * + * @deprecated Use \Drupal\menu_test\Controller\MenuTestController::menuTrail() */ function menu_test_menu_trail_callback() { $menu_path = \Drupal::state()->get('menu_test.menu_tree_set_path') ?: array(); @@ -561,6 +529,8 @@ function menu_test_menu_trail_callback() { * A text string that can be used for comparison. * * @see menu_test_menu(). + * + * @deprecated Use \Drupal\menu_test\Controller\MenuTestController::custom403404() */ function menu_test_custom_403_404_callback() { // When requested by one of the TrailTest tests, record the final @@ -585,6 +555,8 @@ function menu_test_custom_403_404_callback() { * for the current page request. * * @see menu_test_menu(). + * + * @deprecated Use \Drupal\menu_test\Controller\MenuTestController::themePage() */ function menu_test_theme_page_callback($inherited = FALSE) { global $theme_key; diff --git a/core/modules/system/tests/modules/menu_test/menu_test.routing.yml b/core/modules/system/tests/modules/menu_test/menu_test.routing.yml index 7823aed..0ff803d 100644 --- a/core/modules/system/tests/modules/menu_test/menu_test.routing.yml +++ b/core/modules/system/tests/modules/menu_test/menu_test.routing.yml @@ -1,3 +1,19 @@ +menu_test.menu_name_test: + path: '/menu_name_test' + defaults: + _title: 'Test menu_name router item' + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback' + requirements: + _access: 'TRUE' + +menu_test.menu_callback_title: + path: '/menu_callback_title' + defaults: + _title: 'Menu Callback Title' + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback' + requirements: + _permission: 'access content' + menu_test.login_callback: path: '/menu_login_callback' defaults: @@ -12,6 +28,30 @@ menu_test.callback_description: requirements: _permission: 'access content' +menu_test.callback_description_plain: + path: 'menu_callback_description/description-plain' + defaults: + _title: 'Menu item with a regular description' + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback' + requirements: + _permission: 'access content' + +menu_test.callback_description_callback: + path: 'menu_callback_description/description-callback' + defaults: + _title: 'Menu item with a description set with a callback' + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback' + requirements: + _permission: 'access content' + +menu_test.menu_no_title_callback: + path: 'menu_no_title_callback' + defaults: + _title: 'A title with @placeholder' + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback' + requirements: + _permission: 'access content' + menu_test.router_test1: path: '/foo/{bar}' defaults: @@ -145,3 +185,226 @@ menu_test.optional_placeholder: placeholder: NULL requirements: _access: 'TRUE' + +menu_test.menu_test_maintain: + path: '/menu_test_maintain/{test}' + defaults: + _title: 'Menu maintain test' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hierarchy_parent: + path: '/menu-test/hierarchy/parent' + defaults: + _title: 'Parent menu router' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hierarchy_parent_child: + path: '/menu-test/hierarchy/parent/child' + defaults: + _title: 'Child menu router' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hierarchy_parent_child2: + path: '/menu-test/hierarchy/parent/child2/child' + defaults: + _title: 'Unattached subchild router' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.menu_test: + path: '/menu-test' + defaults: + _title: 'Menu test root' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden: + path: '/menu-test/hidden' + defaults: + _title: 'Hidden test root' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden_menu: + path: '/menu-test/hidden/menu' + defaults: + _title: 'Menus' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden_menu_add: + path: '/menu-test/hidden/menu/add' + defaults: + _title: 'Add menu' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden_menu_settings: + path: '/menu-test/hidden/menu/settings' + defaults: + _title: 'Settings' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden_manage: + path: '/menu-test/hidden/menu/manage/{menu}' + defaults: + _title: 'Customize menu' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden_manage_add: + path: '/menu-test/hidden/menu/manage/{menu}/add' + defaults: + _title: 'Add link' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden_manage_edit: + path: '/menu-test/hidden/menu/manage/{menu}/edit' + defaults: + _title: 'Edit menu' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden_manage_delete: + path: '/menu-test/hidden/menu/manage/{menu}/delete' + defaults: + _title: 'Delete menu' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden_block: + path: '/menu-test/hidden/block' + defaults: + _title: 'Blocks' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden_block_add: + path: '/menu-test/hidden/block/add' + defaults: + _title: 'Add block' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden_block_configure: + path: '/menu-test/hidden/block/manage/{foo}/{bar}' + defaults: + _title: 'Configure block' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.hidden_block_delete: + path: '/menu-test/hidden/block/manage/{foo}/{bar}/delete' + defaults: + _title: 'Configure block' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _permission: 'access content' + +menu_test.custom_403: + path: '/menu-test/custom-403-page' + defaults: + _title: 'Custom 403 page' + _content: '\Drupal\menu_test\Controller\MenuTestController::custom403404' + requirements: + _permission: 'access content' + +menu_test.custom_404: + path: '/menu-test/custom-404-page' + defaults: + _title: 'Custom 404 page' + _content: '\Drupal\menu_test\Controller\MenuTestController::custom403404' + requirements: + _permission: 'access content' + +menu_test.menu_trail: + path: '/menu-test/menu-trail' + defaults: + _title: 'Menu trail - Case 1' + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTrail' + requirements: + _permission: 'access content' + +menu_test.menu_trail_admin: + path: '/admin/config/development/menu-trail' + defaults: + _title: 'Menu trail - Case 2' + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTrail' + requirements: + _permission: 'access administration pages' + +menu_test.theme_callback: + path: '/menu-test/theme-callback/{inherited}' + defaults: + _title: 'Page that displays different themes' + _content: '\Drupal\menu_test\Controller\MenuTestController::themePage' + inherited: false + requirements: + _permission: 'access content' + +menu_test.no_theme_callback: + path: '/menu-test/no-theme-callback' + defaults: + _title: 'Page that displays different themes without using a theme callback.' + _content: '\Drupal\menu_test\Controller\MenuTestController::themePage' + inherited: false + requirements: + _permission: 'access content' + +menu_test.theme_callback_inheritance: + path: '/menu-test/theme-callback/{inherited}/inheritance' + defaults: + _title: 'Page that tests theme callback inheritance.' + _content: '\Drupal\menu_test\Controller\MenuTestController::themePage' + inherited: true + requirements: + _permission: 'access content' + +menu_test.title_test_case1: + path: '/menu-title-test/case1' + defaults: + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback' + requirements: + _access: 'TRUE' + +menu_test.title_test_case2: + path: '/menu-title-test/case2' + defaults: + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback' + requirements: + _access: 'TRUE' + +menu_test.title_test_case3: + path: '/menu-title-test/case3' + defaults: + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback' + requirements: + _access: 'TRUE' + +menu_test.title_test_case4: + path: '/menu-title-test/case4' + defaults: + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback' + requirements: + _access: 'TRUE' diff --git a/core/modules/system/tests/modules/test_page_test/lib/Drupal/test_page_test/Controller/TestPageTestController.php b/core/modules/system/tests/modules/test_page_test/lib/Drupal/test_page_test/Controller/TestPageTestController.php new file mode 100644 index 0000000..76ac189 --- /dev/null +++ b/core/modules/system/tests/modules/test_page_test/lib/Drupal/test_page_test/Controller/TestPageTestController.php @@ -0,0 +1,22 @@ + 'Test front page', - 'page callback' => 'test_page_test_page', - 'access callback' => TRUE, - 'type' => MENU_CALLBACK, + 'route_name' => 'test_page_test.test_page', ); return $items; @@ -17,10 +15,12 @@ function test_page_test_menu() { /** * Page callback: Returns a test page and sets the title. * - * @see test_page_test_menu() + * @deprecated Use \Drupal\test_page_test\Controller\TestPageTestController::testPage() */ function test_page_test_page() { drupal_add_js(array('test-setting' => 'azAZ09();.,\\\/-_{}'), array('type' => 'setting')); - drupal_set_title(t('Test page')); - return t('Test page text.'); + return array( + '#title' => t('Test page'), + '#markup' => t('Test page text.'), + ); } diff --git a/core/modules/system/tests/modules/test_page_test/test_page_test.routing.yml b/core/modules/system/tests/modules/test_page_test/test_page_test.routing.yml index 911b102..576d3bf 100644 --- a/core/modules/system/tests/modules/test_page_test/test_page_test.routing.yml +++ b/core/modules/system/tests/modules/test_page_test/test_page_test.routing.yml @@ -1,3 +1,11 @@ +test_page_test.test_page: + path: '/test-page' + defaults: + _title: 'Test front page' + _content: '\Drupal\test_page_test\Controller\TestPageTestController::testPage' + requirements: + _access: 'TRUE' + test_page_test.render_title: path: "/test-render-title" defaults: