function RouterTest::testRouteAlias
Tests route aliasing.
File
-
core/
modules/ system/ tests/ src/ Functional/ Routing/ RouterTest.php, line 350
Class
- RouterTest
- Functional class for the full integrated routing system.
Namespace
Drupal\Tests\system\Functional\RoutingCode
public function testRouteAlias() : void {
$request = \Drupal::request();
$route_provider = \Drupal::service('router.route_provider');
// Check a simple aliased route.
$aliased_route_url = Url::fromRoute('router_test.alias');
$this->drupalGet($aliased_route_url);
$this->assertSession()
->addressEquals($request->getUriForPath('/router_test/test1'));
$routes = $route_provider->getRoutesByNames([
'router_test.alias',
]);
$aliased_route = reset($routes);
$this->assertTrue($aliased_route instanceof Alias);
$this->assertFalse($aliased_route->isDeprecated());
// Check that loading an aliased route by name returns the actual route.
$actual_route = $route_provider->getRouteByName('router_test.alias');
$this->assertFalse($actual_route instanceof Alias);
$this->assertEquals('/router_test/test1', $actual_route->getPath());
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.