diff --git a/core/modules/language/tests/language_test/language_test.module b/core/modules/language/tests/language_test/language_test.module index cb97937..819841d 100644 --- a/core/modules/language/tests/language_test/language_test.module +++ b/core/modules/language/tests/language_test/language_test.module @@ -97,25 +97,3 @@ function language_test_store_language_negotiation() { function language_test_language_negotiation_method($languages) { return 'it'; } - -/** - * Implements hook_menu(). - */ -function language_test_menu() { - $items = array(); - - $items['language_test/subrequest'] = array( - 'page callback' => 'language_test_subrequest', - 'access callback' => TRUE, - 'type' => MENU_CALLBACK, - ); - - return $items; -} - -/** - * Page callback. Uses a subrequest to retrieve the 'user' page. - */ -function language_test_subrequest() { - return drupal_container()->get('http_kernel')->handle(Request::create('/user'), HttpKernelInterface::SUB_REQUEST); -} diff --git a/core/modules/language/tests/language_test/language_test.routing.yml b/core/modules/language/tests/language_test/language_test.routing.yml index d95722b..3403389 100644 --- a/core/modules/language/tests/language_test/language_test.routing.yml +++ b/core/modules/language/tests/language_test/language_test.routing.yml @@ -11,3 +11,10 @@ language_test_theme_link_active_class: _content: '\Drupal\language_test\Controller\LanguageTestController::themeLinkActiveClass' requirements: _access: 'TRUE' + +language_test_subrequest: + pattern: '/language_test/subrequest' + defaults: + _controller: '\Drupal\language_test\Controller\LanguageTestController::testSubRequest' + requirements: + _access: 'TRUE' diff --git a/core/modules/language/tests/language_test/lib/Drupal/language_test/Controller/LanguageTestController.php b/core/modules/language/tests/language_test/lib/Drupal/language_test/Controller/LanguageTestController.php index da5ad64..19355fc 100644 --- a/core/modules/language/tests/language_test/lib/Drupal/language_test/Controller/LanguageTestController.php +++ b/core/modules/language/tests/language_test/lib/Drupal/language_test/Controller/LanguageTestController.php @@ -9,6 +9,8 @@ use Drupal\Core\ControllerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpKernel\HttpKernelInterface; /** * Controller routines for language_test routes. @@ -16,10 +18,27 @@ class LanguageTestController implements ControllerInterface { /** + * The HTTP kernel service. + * + * @var \Symfony\Component\HttpKernel\HttpKernelInterface + */ + protected $httpKernel; + + /** * Implements \Drupal\Core\ControllerInterface::create(). */ public static function create(ContainerInterface $container) { - return new static(); + return new static($container->get('http_kernel')); + } + + /** + * Constructs a new LanguageTestController object. + * + * @param \Symfony\Component\HttpKernel\HttpKernelInterface $httpKernel + * An HTTP kernel. + */ + public function __construct(HttpKernelInterface $httpKernel) { + $this->httpKernel = $httpKernel; } /** @@ -110,4 +129,14 @@ public function lActiveClass() { ); } + /** + * Uses a subrequest to retrieve the 'user' page. + * + * @return \Symfony\Component\HttpFoundation\Response + * The kernels response to the sub request. + */ + public function testSubRequest() { + return $this->httpKernel->handle(Request::create('/user'), HttpKernelInterface::SUB_REQUEST); + } + }