function RouterTest::testRouteAliasWithDeprecation

Tests route aliasing with deprecation.

@group legacy

File

core/modules/system/tests/src/Functional/Routing/RouterTest.php, line 377

Class

RouterTest
Functional class for the full integrated routing system.

Namespace

Drupal\Tests\system\Functional\Routing

Code

public function testRouteAliasWithDeprecation() : void {
  $request = \Drupal::request();
  $route_provider = \Drupal::service('router.route_provider');
  // Check an aliased route with a deprecation message.
  $deprecated_route_url = Url::fromRoute('router_test.deprecated');
  $this->expectDeprecation('The "router_test.deprecated" route is deprecated in drupal:11.2.0 and will be removed in drupal:12.0.0. Use the "router_test.1" route instead.');
  $this->drupalGet($deprecated_route_url);
  $this->assertSession()
    ->addressEquals($request->getUriForPath('/router_test/test1'));
  $routes = $route_provider->getRoutesByNames([
    'router_test.deprecated',
  ]);
  $deprecated_route = reset($routes);
  $this->assertTrue($deprecated_route instanceof Alias);
  $this->assertTrue($deprecated_route->isDeprecated());
  $deprecation = $deprecated_route->getDeprecation('router_test.deprecated');
  $this->assertEquals('drupal/core', $deprecation['package']);
  $this->assertEquals('11.2.0', $deprecation['version']);
  $this->assertEquals('The "router_test.deprecated" route is deprecated in drupal:11.2.0 and will be removed in drupal:12.0.0. Use the "router_test.1" route instead.', $deprecation['message']);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.